Không thể tải Thư viện chia sẻ JNI (JDK)


928

Khi tôi thử mở Eclipse , một hộp thoại bật lên trạng thái:

Không thể tải thư viện chia sẻ JNI "C: /JDK/bin/client/jvm.dll" `.

Theo đó, lực lượng Eclipse đóng lại.

Dưới đây là một vài điểm tôi muốn thực hiện:

  • Tôi đã kiểm tra xem có gì tồn tại ở con đường đó không. Nó tồn tại.
  • Bộ công cụ phát triển Eclipse và Java SE của tôi đều là 64 bit. Tôi đã kiểm tra hệ thống của mình và nó có thể xử lý 64 bit.
  • Tôi đã tìm kiếm vấn đề này trên Google và trên Stack Overflow, và câu trả lời duy nhất tôi tìm thấy là tải xuống các phiên bản 32 bit của JDK và Eclipse.

Tải xuống các phiên bản 32 bit là điều tôi chỉ muốn làm như là phương sách cuối cùng.
Điều gì sẽ được đề xuất để giải quyết vấn đề này?


Chính xác thì vấn đề trong trường hợp của bạn là gì?
sjas

4
Tôi đã rất ngạc nhiên khi cài đặt 5 hoặc hơn Java vào máy tính của mình. Không chỉ vậy, nhưng hóa ra tôi đã tải xuống Eclipse 32 bit một cách tình cờ. Vì vậy, tôi đã gỡ cài đặt mọi Java tôi có, đã xóa Eclipse (Eclipse không có "gỡ cài đặt") và tải xuống Eclipse Classic 64 bit cho máy của tôi, cùng với Java 64 bit (xem câu trả lời của SPP cho liên kết đó).
Mxyk

2
Ngoài ra: nếu bất cứ ai gặp khó khăn trong việc "xóa" Eclipse của họ (ví dụ: thư mục sẽ không biến mất cho dù bạn có xóa thủ công bao nhiêu lần hoặc qua dấu nhắc lệnh), hãy thử xóa nó bằng chế độ an toàn bằng dấu nhắc lệnh .. Tôi không biết tại sao tôi phải làm điều này, nhưng cuối cùng lại làm việc.
Mxyk

@MikeGates Tôi cũng gặp vấn đề đó, đã sử dụng LockHunter. Khó ưa. Để công cụ này chạy trên Windows là quá nhiều công việc.
jcollum

Eclipse / Java tệ khi đạt 64 bit, đó là một ... sự ô nhục. Lời khuyên tốt nhất tôi có thể đưa ra là chỉ bám vào 32 bit. Tiết kiệm rất nhiều thời gian.
onknows

Câu trả lời:


848

Bạn cần một 64-bitbộ ba:

  • 64-bit HĐH
  • 64-bit Java
  • 64-bit Nhật thực

Giải thích : Hãy tưởng tượng mã gốc (DLL) đang được tải vào một ứng dụng. Bây giờ hãy tưởng tượng một hàm 32 bit muốn gọi một hàm 64 bit, hoặc giống nhau. Tương tự với sự liên kết và dữ liệu và tất cả mọi thứ. Tôi đoán tôi không phải nói gì thêm = P
imacake 17/03/2016

@androiddeveloper tôi đoán bạn trộn nhiều phiên bản java. Cố gắng chỉ sử dụng bộ ba 64.
Grim

Chính xác! Máy tính xách tay của tôi đang chạy trên hệ điều hành x64 nhưng tôi đã cài đặt x86 JDK. Chỉ cần cài đặt x64 jdk và vấn đề biến mất. Cảm ơn.
Nguyễn Minh Bình

Câu trả lời này thực sự không hoàn toàn chính xác. Bạn không cần chạy JDK 64 bit và Eclipse 64 bit nếu bạn đang sử dụng HĐH 64 bit. HĐH 64 bit cũng có thể chạy một tổ hợp Eclipse 32 bit + 32 bit. Điều phải phù hợp là sự khuất phục của JRE / JDK và Eclipse.
E-Riz

1
@Tarik có, năm 2015 và không may là Trình chỉnh sửa trang trực quan (VPE) của JBoss Tools vẫn đang chờ đợi từ nhiều năm để nâng cấp 64 bit. Nhìn vào câu trả lời "Cặp làm việc" bên dưới, ở cặp thứ hai. Trình cắm thêm công cụ JBoss được liên kết với cùng kiến ​​trúc mà bạn đã tải xuống Eclipse. Vì vậy, Eclipse (với JBossTools) phải là 32 bit, JDK phải là 32 bit và HĐH có thể là 64 bit. Nhật thực 64 bit hiện không hoạt động với JBoss Tools .... Tôi nhớ một dự án có tên JBossIDE hoạt động bằng Eclipse, bạn sẽ sử dụng điều này thay vì cài đặt JBossTools vào nhật thực. Xấu hổ với bạn JBoss, xấu hổ với mozilla quá.
Grim

315

Các cặp hoạt động của OS, JDK và Eclipse:


  • 32-bit HĐH | 32-bit JDK | 32-bit Nhật thực (chỉ 32 bit )
  • 64-bit HĐH | 32-bit JDK | 32-bit Nhật thực
  • 64-bit HĐH | 64-bit JDK| 64bit Nhật thực (chỉ 64 bit )

Tôi đã cài đặt một số JDK và JRE.

Mỗi người trong số họ có mục nhập riêng của họ trong biến PATH, tất cả đều hoạt động ít nhiều.

Đánh giá từ các biến PATH, một số cài đặt hoàn toàn vô dụng, vì chúng không bao giờ được sử dụng. Tất nhiên, các Javas "không hoạt động" có thể được tham chiếu thủ công từ bên trong Eclipse nếu tôi cần, nhưng tôi chưa bao giờ làm điều đó, vì vậy tôi thực sự không cần chúng. (Ít nhất tôi cũng nghĩ vậy vào lúc đó ...)

Tôi đã dọn dẹp mớ hỗn độn, gỡ cài đặt tất cả các Java hiện tại, chỉ cài đặt JDK + JRE 1.7 64-bit.

Một trong những 'cài đặt' của Eclipse đã thất bại sau đó với Failed to Load the JNI shared Libraryvà một đường dẫn cụ thể liên quan đến JDK được cài đặt mới, nơi nó nghĩ là jvm.dllnhư vậy.

Eclipse thất bại là người duy nhất trong số tất cả các IDE của tôi vẫn là phiên bản 32 bit trên thiết lập toàn bộ 64 bit của tôi.

Việc thêm các đối số VM, như thường được đề cập, trong eclipse.initrường hợp của tôi không được sử dụng (vì tôi chỉ có JDK / JRE sai liên quan đến.)

Tôi cũng không thể tìm ra cách kiểm tra xem Eclipse này là phiên bản 32 bit hay 64 bit (tôi không thể tra cứu nó trong Trình quản lý tác vụ , vì 'cài đặt' Eclipse này sẽ không khởi động. Và vì nó đã đã được một lúc kể từ khi tôi thiết lập nó, tôi cũng không thể nhớ phiên bản của nó.)

Trong trường hợp bạn sử dụng JDK mới hơn và JRE cũ hơn, bạn cũng có thể gặp rắc rối, nhưng sau đó nhiều khả năng nó sẽ java.lang.UnsupportedClassVersionErrorxuất hiện, IIRC .


3
Nó chỉ nên sử dụng \ bin đầu tiên trong biến Đường dẫn
ekingần

Mmmm, đó luôn là câu hỏi ... Các tài liệu của Oracle nói rằng nó chỉ sử dụng cái đầu tiên, nhưng có lẽ một cái gì đó khác đã được thay đổi / đã sẵn sàng và hoạt động. Có vẻ như nó luôn luôn là một cái gì đó kỳ lạ như thế.
ekingần

8
để kiểm tra phiên bản 32 bit hoặc 64 bit nào, mở eclipse.ini và tìm trình khởi chạy Equinox được sử dụng (ví dụ: org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502)
Steve Oh

Tôi đã có kết hợp này với lỗi. HĐH 64 bit - JDK 32 bit - Eclipse 32 bit và nó không hoạt động. Tôi đã giải quyết nó bằng combo này: HĐH 64 bit - JDK 64 bit - Eclipse 64 bit (chỉ 64 bit). Biến% PATH% đã được cập nhật để trỏ đến phiên bản java 64 bit. Trên thực tế,% JAVA_HOME% đã được cập nhật vì biến này được sử dụng thành các giá trị biến% PATH%.
thanos.a

1
Đó là bình luận của @ekinnear đã giải quyết vấn đề của tôi. Tôi không chắc tại sao nó lại tìm kiếm JVM.dll trong thư mục windows / bin của tôi nhưng việc đặt đường dẫn thích hợp vào vị trí dường như đã giải quyết nó.
James

267

Hãy chắc chắn rằng eclipse.initập tin của bạn bao gồm các dòng sau.

-vm
C:\path\to\64bit\java\bin\javaw.exe

eclipse.iniVí dụ của tôi

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
-vm
C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exe
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

Sử dụng OS và Eclipse cả 64 bit hoặc cả 32 bit giữ nguyên và cấu hình eclipse.ini.

eclipse.iniTập tin của bạn có thể được tìm thấy trong thư mục nhật thực của bạn .


9
Điều này giải quyết vấn đề. Tôi đã thêm -vm C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exedòng vào tệp eclipse.ini của mình và nó khởi động tốt. Cảm ơn sự giúp đỡ +1.
prolink007

1
Điều này hoạt động tốt, vui lòng kiểm tra phiên bản Java của bạn, chạy java -version trong bảng điều khiển và Kiểm tra xem đây có phải là phiên bản được sử dụng bởi Eclipse hay không
jayesh kavathiya

2
Tôi đã làm điều này với SDK Java 6 của mình và nó không hoạt động. Tôi đã thử lại, chỉ vào SDK Java 7 của tôi và nó đã hoạt động. Tôi đang dùng Windows 8 64 bit, Java 6 và 7 (cả 64 bit) và Helios Eclipse (32 bit). Tôi đã sẵn sàng gỡ cài đặt và cài đặt lại Eclipse 64 bit, nhưng có vẻ như java 7 SDK bao gồm một số trí thông minh mới để chạy các ứng dụng 32 bit tốt hơn.
Ryan Shillington

9
những công việc này. nhưng cần đặt -vm vào đầu tập tin ini; ít nhất là trước -vmargs hoặc --launcher.xxx
Pinkdawn 27/03/13

2
Điểm rất rất quan trọng mà tôi đã bỏ lỡ. Nếu bạn sử dụng như: "-vm C: \ ProgramFiles \ Java \ jdk1.6.0_32 \ bin \ javaw.exe" thì nó sẽ không bao giờ hoạt động đúng cách "-vm C: \ Program Files \ Java \ jdk1.6.0_32 \ bin \ javaw.exe "Dòng mới sau -vm là rất quan trọng.
Học sinh


42

Lỗi này có nghĩa là kiến ​​trúc của Eclipse không khớp với kiến ​​trúc của thời gian chạy Java, tức là nếu một cái là 32 bit thì cái kia phải giống nhau và không phải là 64 bit.

Cách khắc phục đáng tin cậy nhất là chỉ định vị trí JVM trong eclipse.ini:

-vm
C:\Program Files (x86)\Java\jdk1.7.0_55\bin\javaw.exe

Quan trọng: Hai dòng này phải đến trước -vmargs. Không sử dụng dấu ngoặc kép; không gian được cho phép.


Xin chào, tôi đã làm việc từ một thời gian trước với thiết lập .ini này, tôi có nên cập nhật kiến ​​trúc lên 64-bit hay tôi có thể bỏ qua thực tế là có các kiến ​​trúc khác nhau ?? Thx
Billyjoker 28/03/2015

32

Một lựa chọn khác là:

Tạo một lối tắt đến Eclipse.exe. Mở phím tắt và thay đổi mục tiêu thành:

"C:\Program Files\eclipse\eclipse.exe" -vm "c:\Program Files\Java\jdk1.7.0_04\bin\javaw.exe"

Đối với cài đặt của bạn, hãy đảm bảo các vị trí trỏ đến thư mục cài đặt Eclipse chính xác và thư mục javaw.execài đặt đúng .

(Tất nhiên, các phiên bản 64/32 bit của Eclipse và Java cần phải giống nhau.)


Các tùy chọn tốt nhưng thêm nó vào tệp ini như trên sẽ hoạt động
mr.user1065741

2
Không cần thay đổi tệp .ini. Chỉ cần sử dụng kết hợp 64 bit cho java và nhật thực
thanos.a

29

Tôi đã cài đặt nhiều phiên bản Java, cả Sun JDK & JRockit, cả 32 bit và 64 bit, v.v. và gặp phải vấn đề này với bản cài đặt Eclipse 64 bit mới cho Java EE (JUNO).

Điều gì KHÔNG làm việc:

Bộ ba 64 bit theo đề xuất của Peter Rader:

Tôi đang sử dụng Eclipse 64 bit trên HĐH 64 bit (Windows 7).

Tôi đảm bảo Sun JDK 7 64-bit là phiên bản java mặc định. Khi tôi gõ "java -version" từ dòng lệnh (cmd.exe), Sun JDK 7 64-bit đã được trả về ...

java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

Điều này đã không giải quyết vấn đề cho tôi.

Những gì DID làm việc:

Thêm tùy chọn -vm vào eclipse.ini theo đề xuất của Jayesh Kavathiya:

Tôi đã thêm phần sau vào eclipse.ini:

-vm
C:/apps/java/jdk7-64bit/bin/javaw.exe

Ghi chú:

Tôi không phải gỡ cài đặt bất kỳ phiên bản JDK hoặc JRE nào khác tôi có trên máy của mình.


Tôi cũng không phải gỡ cài đặt JDK, nhưng tôi đã chọn xóa hệ thống của mình để xóa sạch các nguyên nhân lỗi trong tương lai. Tôi cũng đã đề cập đến các đối số VM và giải thích lý do tại sao chúng rõ ràng không thể làm việc cho tôi. Đó là lựa chọn của bạn về cách bạn muốn thiết lập hệ thống của mình, tùy thuộc vào những gì bạn thực sự cần.
sjas

Tôi đã phải làm cả hai việc, nhưng thêm dòng javaw.exe sau đó dẫn tôi cài đặt mọi thứ trên 64 bit, dù sao đi nữa. Nó phụ thuộc vào mức phạt của bạn do trả cho Android.
Josh

Tôi đã phát triển trong nhiều năm và không có thay đổi nào đối với hệ thống của tôi (mà tôi biết), Eclipse đã đưa ra lỗi này. Thêm tùy chọn -vm đã sắp xếp nó cho tôi, mà không cần thay đổi bất kỳ cài đặt nào khác hoặc hủy / cài đặt lại bất cứ thứ gì.
Knossos

18

Đối với một jvm.dlltệp bị thiếu , chúng tôi có thể cung cấp đường dẫn của tệp dll trong eclipse.initệp dưới dạng

-vm
C:\Progra~1\Java\jdk1.6.0_38\jre\bin\server\jvm.dll

Ở đây điều quan trọng là phải loại bỏ bất kỳ khoảng trắng trong đường dẫn và dấu ngoặc kép. Nó làm việc cho tôi khi tôi loại bỏ các trích dẫn và không gian.

Tôi hi vọng nó giúp ích cho ai đó.


1
Điều này đã giúp tôi thay vì -vm javaw.exe
AMJ

11

Tôi đã có một vấn đề tương tự. Nó đã được giải quyết làm như sau.

  • Di chuyển Eclipse sang tệp chương trình (không chuyển sang tệp chương trình (x86) ).
  • Xóa đường dẫn đến phiên bản Java 32 bit khỏi biến môi trường 'đường dẫn'.

Tôi đã cài đặt cả hai phiên bản Java, nhưng Eclipse vẫn cố gắng sử dụng phiên bản 32 bit.


10

Chắc chắn, bạn cần phải có một phiên bản tương thích của JDK và Eclipse, nhưng bạn cũng cần thêm vào eclipse.initệp các dòng dưới đây:

-vm
yourdrive\java\bin

Làm cho họ hai dòng đầu tiên của eclipse.initập tin của bạn .


7

Như nhiều người đã ám chỉ, đây là vấn đề 32 so với 64 bit cho cả EclipseJava . Bạn không thể trộn lẫn 32 và 64 bit. Vì Eclipse không sử dụngJAVA_HOME , nên bạn có thể phải thay đổi PATH của mình trước khi khởi chạy Eclipse để đảm bảo bạn đang sử dụng không chỉ phiên bản Java phù hợp, mà còn nếu 32 hoặc 64 bit (hoặc sửa đổi tệp INI như Jayath đã lưu ý) .

Nếu bạn đang cài đặt Eclipse từ chia sẻ công ty, bạn nên đảm bảo rằng bạn có thể biết phiên bản Eclipse nào bạn đang giải nén và giải nén vào thư mục Tệp chương trình thích hợp để giúp theo dõi đó là phiên bản nào, sau đó thay đổi PATH (vĩnh viễn thông qua ( Bảng điều khiển Windows) -> Hệ thống hoặc bộ PATH=/path/to/32 or 64bit/java/bin;%PATH%(có thể tạo tệp bó nếu bạn không muốn đặt nó trong hệ thống và / hoặc biến môi trường người dùng). Hãy nhớ rằng, 32 bit nằm trong tệp Chương trình (x86) .

Nếu không chắc chắn, chỉ cần khởi chạy Eclipse, nếu bạn gặp lỗi, hãy thay đổi PATH của bạn thành phiên bản Java 'bit' khác, rồi thử lại. Sau đó di chuyển thư mục Eclipse sang thư mục Tệp chương trình thích hợp .


Đây rõ ràng là một vấn đề vì trang này hiện có 700 nghìn lượt xem ... và một năm sau đó dường như không có cách khắc phục nào mà không liên quan đến việc chọc vào các biến môi trường chỉ để chạy IDE!
Ciaran Gallagher

6

Ngoài ra, hãy lấy cùng một phiên bản "bit" của JRE và Eclipse và sau đó tạo một lối tắt mới với mục tiêu bên dưới (thay thế vị trí / đường dẫn JRE và Eclipse đã cài đặt):

"C:\studio\eclipse.exe" -vm "C:\Program Files\Java\jre7\bin\server\jvm.dll" eclipse.vm="C:\Program Files\Java\jre7\bin\server\jvm.dll" java.home="C:\Program Files\Java\jre7" java.runtime.version=1.7.0

Điều đó sẽ làm các trick.


6

Bạn có thể giải quyết vấn đề đó như nhiều bản sao khác. Bạn cần Eclipse và JDK là 32 bit hoặc cả hai trên 64 bit . Kiến trúc của HĐH không thành vấn đề trong khi các kiến ​​trúc khác vẫn giữ nguyên kiểu kiến ​​trúc.


6

Các câu trả lời ở trên khiến tôi bị cám dỗ rất nhiều, đến nỗi tôi quyết định chạy khô tất cả các kết hợp có thể có với bộ ba OS, EclipseJVM . Dù sao, bất cứ ai đang đào sâu và đọc bài viết của tôi, hãy kiểm tra những điều sau đây là một điểm nóng (Tôi là người dùng Windows 7).

  1. Bạn hiểu Tệp chương trìnhTệp chương trình (x86) là hai thư mục khác nhau ... x86 là viết tắt của phiên bản chương trình 32 bit và trước đây là phiên bản 64 bit.

  2. Nếu bạn có nhiều phiên bản Java được cài đặt với các phiên bản phát hành và bitness khác nhau, điều này chắc chắn sẽ xảy ra với rất nhiều IDE , trình quản lý, bảng điều khiển quản trị nguồn mở , tùy chọn tốt nhất là đặt trực tiếp đối số VM trong eclipse.initệp. Nếu bạn không, Eclipse sẽ phát điên và thử tự tìm kiếm nó không tốt.


5

Một trong những cách dễ dàng để giải quyết nó là sao chép jrethư mục đã cài đặt JDK vào thư mục cài đặt Eclipse. Hãy chắc chắn rằng JDK mà bạn sao chép từ cùng một kiến ​​trúc với cài đặt Eclipse của bạn.

Tôi đã phải cấu hình máy của mình theo cách đó, vì tôi chạy cả Eclipse StudioAppcelerator trên máy của mình. Studio cần Java 32 bit, trong khi Eclipse cần 64 bit.


Tôi đã làm điều tương tự từ lâu, nhưng đối với nhật thực-jee-juno-SR1-win32 và Java6, lần này tôi không thể làm cho nó hoạt động được. Bạn cũng đã chỉnh sửa eclipse.ini với một đường dẫn tuyệt đối đến jre?
dùng77115

Tôi cũng có Eclipse 64 chiều rộng jdk 7 64 bit, nhưng titan cao đối với tôi không thể tải dll chia sẻ jni.
realtebo

Do tính năng tự động điên cuồng của Window, bất cứ khi nào có bản cập nhật cho JAVA, nó sẽ chặn Eclipe của tôi khởi chạy. Giải pháp trên là cách dễ nhất để làm việc độc lập mà không cần quan tâm đến autoupdates. Cảm ơn!
Jyo the Whiff

4

Có, chỉ cần đảm bảo các phiên bản Eclipse và JDK của bạn đều là 64 bit. Chỉ để đảm bảo mọi thứ được gỡ cài đặt chính xác JDK và cài đặt nó trong Tệp chương trình chứ không phải trong Tệp chương trình (x86) . Ít nhất điều đó đã giải quyết vấn đề của tôi.


4

Chỉ cần kiểm tra biến môi trường PATH. Trong Máy tính của tôi -> Thuộc tính -> Cài đặt hệ thống nâng cao -> Biến môi trường -> (cửa sổ bên trái phía trên "Biến người dùng cho" một số tên của PC "") chỉ cần kiểm tra biến PATH. Nếu nó không tồn tại, hãy tạo nó với các mục sau -> C: \ Program Files (x86) \ Java \ jre7 \ bin <-

Tôi đã phải đối mặt với cùng một vấn đề sau khi đã cập nhật Eclipse của tôi. Tôi thấy rằng đường dẫn đã hỏi phiên bản 64 bit, nhưng tôi có đường dẫn 32 bit. Nó rất hữu ích cho tôi. PS: Tôi có HĐH 64 bit, JRE 32 bit và Eclipse 32 bit. Tất cả đều hoạt động tốt :)


4

Bạn nên gỡ cài đặt tất cả [JRE] cũ [1] và sau đó cài đặt cái mới nhất ... Tôi gặp vấn đề tương tự và bây giờ tôi giải quyết nó. Tôi có:

Cài đặt tốt hơn Jre 6 32 bit. Nó thật sự có hiệu quả.


3

Đã tải xuống JVM 64 bit từ trang web và cài đặt thủ công và cập nhật biến đường dẫn hệ thống. Điều đó đã giải quyết vấn đề.

  1. JVM mặc định được cài đặt trong hệ thống của tôi là trong "C: \ Program Files
    (x86) \ Java \ jre7"
  2. JVM được cài đặt thủ công đã được cài đặt trong "C: \ Program Files \ Java \ jre7" và sau khi cập nhật pate này vào biến đường dẫn hệ thống, nó đã hoạt động.

3

Cảm ơn misterfrb , tôi nhận ra rằng Eclipse đã đưa ra lỗi này, vì tôi vừa cài đặt bộ phần mềm Nhà phát triển Oracle 10g và nó đang tìm kiếm jvm.dlltệp trongC:\DevSuiteHome_1 thư mục (tôi phải chọn cài đặt lại JDK cùng với bộ nhà phát triển).

Sau khi xóa các dòng DevSuiteHome khỏi biến đường dẫn và thêm vị trí hiệu chỉnh cho 64 bit jvm.dll(không chắc chắn nếu điều này là cần thiết, đừng thử mà không có), Eclipse vẫn hoạt động trở lại và bộ Developer cũng vậy.


3

Đơn giản, tôi có HĐH 64 bit, Eclipse 32 bit và cả JDK 32 & 64 được cài đặt ... Tôi vừa gỡ cài đặt JDK 64 bit và Eclipse đang hoạt động tốt ..


3

Tôi gặp vấn đề tương tự sau khi nâng cấp từ Java 6 lên Java 7. Sau khi tôi gỡ bỏ Java 6 (64 bit) và cài đặt lại Java 7 (64 bit), Eclipse đã hoạt động. :)


3

Điều quan trọng là thêm tham số -vm và giá trị của nó trên 2 dòng TẠI BẮT ĐẦU của eclipse.ini

-vm C: \ Tệp chương trình \ Java \ jdk1.7.0_45 \ bin \ javaw.exe


3

Tôi muốn áp dụng một giải pháp khác cho lỗi này, đặc biệt là cho những ai muốn sử dụng Eclipse 32 bit và 64 bit trong một hệ thống.

Eclipse sẽ khởi động bằng cách sử dụng JRE / JDK trong jrethư mục con nếu nó tồn tại. (STS hoặc IDE dựa trên nhật thực khác cũng hỗ trợ tính năng này ...)

Giải pháp là tạo đường nối thư mục bằng cách sử dụng mklink.exelệnh tồn tại trong windows vista hoặc phiên bản mới hơn ( jeft.exe cung cấp chức năng tương tự cho Windows 2000 / XP)
Mở cửa sổ dòng lệnh và thực hiện lệnh sau:

mklink / j "$ ECLIPSE-HOME / jre" "$ JDK_or_JRE_home"

Tất nhiên, nếu Eclipse dành cho Windows 64 bit, kiến ​​trúc của JDK/JREphải giống nhau.

Giả định:

  • Eclipse for windows x86_64được cài đặt trong d: \ devTool \ eclipse
  • JDK for windows x64được cài đặt trong C: \ Program Files \ Java \ jdk1.8.0

Lệnh tạo jrethư mục sẽ là:

mklink / j "d: \ devTool \ eclipse \ jre" "C: \ Tệp chương trình \ Java \ jdk1.8.0"

BTW, xóa ngã ba thư mục sẽ KHÔNG xóa bất kỳ tập tin. Nếu bạn tạo một liên kết sai, bạn có thể xóa nó bằng tệp explorer hoặc rmdirlệnh.

rmdir "d: \ devTool \ nhật thực \ jre"



2

Nếu bạn sử dụng toàn bộ bộ ba 64 bit và nó vẫn không hoạt động (Tôi đã gặp vấn đề này khi khởi chạy Android Monitor trong Intellij Idea), có lẽ jvm.dll đã bị sử dụng trái với những gì java của bạn mong đợi. Chỉ cần làm theo các bước sau:

  1. Tìm jvm.dll trong thư mục JRE của bạn: C:\Program Files\Java\jre7\server\bin\jvm.dll

  2. Tìm jvm.dll trong thư mục JDK của bạn: c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\

  3. Sao chép jvm.dlltừ JRE drectory vào thư mục JDK của bạn và ghi đè jvm.dll trong JDK.

Đừng quên tạo một bản sao lưu, chỉ trong trường hợp. Không cần phải cài đặt hoặc gỡ cài đặt bất cứ thứ gì liên quan đến Java.


2

Điều tương tự cũng xảy ra với tôi. Tôi đã có Eclipse 64 bit, nhưng JDK của tôi là 32 bit. Vì vậy, tôi đã cài đặt phiên bản 64 bit và nó ổn ngay bây giờ.


2

Tôi không chắc tại sao nhưng tôi đã cài đặt jre vào thư mục c: \ windows và java.exe và javaw.exe trong thư mục windows \ system32 của tôi.

Rõ ràng các thư mục này đã được ưu tiên ngay cả SAU khi thêm cờ -vm vào tệp eclipse.ini của tôi.

Xóa chúng từ đây đã khắc phục vấn đề cho tôi.


2

Bạn đã thay đổi phiên bản thích hợp của JAVA_HOME và PATH trong các biến môi trường.


1

Trên trang tải xuống của Eclipse, nó phải được viết "JRE 32 bit" hoặc "JRE 64 bit" chứ không phải "Windows 32 bit" hoặc "Windows 64 bit".

Hãy chắc chắn sử dụng phiên bản chính xác tương thích với JDE của bạn, như đã trả lời trước đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.