Không thể tải thư viện chia sẻ JNI khi khởi động Eclipse


27

Tôi đã tải xuống phiên bản mới nhất của Eclipse, nhưng tôi không thể khởi động nó.

Thông báo lỗi tôi nhận được là:

Không thể tải thư viện chia sẻ JNI "C: \ Program Files (x86) \ Java \ jdk1.6.0_20 \ bin .. \ jre \ bin \ client \ jvm.dll".

Làm thế nào để tôi sửa lỗi này?

Tôi sử dụng Windows 64 bit, JDK 32 bit và tải xuống Eclipse 64 bit.


Điều đó thật lạ. Jvm.dll phải có trong C: \ Program Files (x86) \ Java \ jdk1.6.0_20 \ jre \ bin \ client \ jvm.dll, không phải trong C: \ Program Files (x86) \ Java \ jdk1.6.0_20 \ bin \ ...
AndrejaKo

Câu trả lời:


34

Điều này thường xảy ra nếu bạn có sự không phù hợp 32-so với 64-bit giữa các phiên bản JDK và Eclipse đã cài đặt!

Phiên bản Eclipse của bạn đang cố truy cập JDK 32 bit (như được chỉ định bởi C: \ Program Files (x86) ), nhưng không thành công vì Eclipse đang mong đợi JDK 64 bit hoặc do JDK 32 bit bị thiếu - do đó bạn sẽ cần đảm bảo khớp các phiên bản Eclipse và JDK một cách khôn ngoan tương ứng.


Tôi sử dụng Windows 64 bit, JDK 32 bit và tải xuống Eclipse 64 bit. Bây giờ với Eclipse 32 bit, nó hoạt động tốt hơn, cảm ơn.
Jonas

@Jonas - Tôi đã xóa các giả định sai lầm về các phiên bản đã cài đặt, cảm ơn vì đã chỉ ra điều này bằng cách chỉ định thiết lập của bạn.
Steffen Opel

3

Tôi đã cài đặt cả hai phiên bản 64-bit JDK và Eclipse, nhưng có cùng một vấn đề ...

Cuối cùng tôi phát hiện ra rằng %PATH%biến hệ thống của tôi không bao gồm thư mục. Đừng quên thay đổi nó thành thư mục chính xác nơi JDK \ bin của bạn được cài đặt. Đã làm cho tôi.


2
-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/jre/bin
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

sử dụng nhật thực và os cả 64 bit hoặc cả 32 bit


1

Trên Windows 7, bạn có cơ hội sử dụng các liên kết tượng trưng như dưới unix.

Vì vậy, với cmd(chạy như một quản trị viên), hãy chạy như sau: mklink /d jdk jdk-versionnr-etcbạn không cần cập nhật đường dẫn của mình, JAVA_JOMEvào lần tiếp theo bạn cập nhật Java!


1

Tôi đã có một Eclipse 64 bit và 32 bit Java và có cùng một vấn đề. Sau khi cài đặt Java 64 bit và cập nhật đường dẫn hệ thống , không có vấn đề gì.


1

Nếu bạn đã tải xuống Eclipse 64 bit và JDK / JRE 64 bit, hãy kiểm tra tính khả dụng của javaw.exe cho 64 bit.

Trong trường hợp của tôi, nó là trong C:\Program Files\Java\jre6\bin

Tôi đã trích xuất Eclipse vào c:\eclipsethư mục; trong đó các eclipse.initập tin có sẵn. Thay thế nội dung của tập tin đó bằng cách sau:

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vm
C:\Program Files\Java\jre6\bin\javaw.exe
-framework
plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xmx700m
-XX:MaxPermSize=690M

Để dòng mới ở giữa cờ -vm và giá trị. Nó làm việc cho tôi.


Cảm ơn. Tất cả những gì tôi đã làm là sao chép dòng "-vm C: \ Program Files \ Java \ jre6 \ bin \ javaw.exe" Tôi để mọi thứ khác như cũ.
Stopher87

0

Tôi đã phải đối mặt với cùng một vấn đề mặc dù tôi đã có các phiên bản 64 bit của cả JDK và Eclipse. Tôi phát hiện ra rằng đường dẫn JDK bị thiếu trong eclipse.ini.

Vì vậy, tôi đã thêm các dòng sau trong tệp eclipse.ini:

-vm
C:\Program Files\Java\jdk1.7.0_45\jre\bin <this might be different on your machine>

Điều này đã giải quyết vấn đề! :-)



0

1.Không cài đặt sẵn jdk7.1 (Đó là 64 bit) 2. Đã tải xuống và cài đặt jdk7.1 32 bit. Jvm.dll sẽ nằm trong đường dẫn follwing: "C: \ Program Files (x86) \ Java \ jdk1.7.0_75 \ jre \ bin \ client"

Hy vọng nó hoạt động.


0

Để giải thích về câu trả lời của Steffen Opel, sự không khớp xảy ra giữa JVM được chỉ định trong tệp eclipse.ini và JVM gặp phải và được khởi chạy do kết quả của các mục trên biến môi trường đường dẫn Windows của bạn. Vì vậy, để khắc phục sự cố, đảm bảo cả hai đều tham chiếu cùng một JVM.

Để khắc phục sự cố này, hãy làm theo các bước sau:

1. Sửa đổi cấu hình Eclipse để nó khởi chạy với phiên bản mong muốn của JVM
Mở eclipse.ini và thay đổi dòng bên dưới thành phiên bản java mà bạn muốn sử dụng, ví dụ:

-Dosgi.requiredJavaVersion=1.5

2. Đảm bảo Eclipse có thể truy cập JVM Nó yêu cầu
Bảng điều khiển Goto -> Chỉnh sửa biến môi trường hệ thống -> Đường dẫn.
    a) Đảm bảo rằng một mục tồn tại ở đây với java của bạn
    b) Đảm bảo mục này nằm cao hơn (hoặc sớm hơn) so với bất kỳ đường dẫn java nào khác trong mục nhập @path của bạn.

Hy vọng rằng sẽ khắc phục vấn đề cho bạn.


0

Mặc dù đây là một câu hỏi cũ, tôi nghĩ sẽ thêm một số thông tin phù hợp hơn vào câu trả lời được chấp nhận do @Steffen Opel đưa ra.

Có thể cài đặt bất kỳ số lượng phiên bản JDK 32 bit và JDK 64 bit nào trong HĐH Windows 64 bit. Ngoài ra nó có thể cài đặt 32-bit Eclipse và 64-bit Eclipse trong cùng một máy tính là tốt. Nhưng để chạy một trong những phiên bản Eclipse liên quan đến nền tảng đó (trong trường hợp OP 64-bit Eclipse ), máy phải phù hợp với Biến môi trường của Biến được cấu hình cho JDK. Điều này có thể được thực hiện (nên được thực hiện) mà không cần sửa đổi tệp eclipse.ini .

Biến môi trường

Để chạy java mà không cung cấp đường dẫn đầy đủ, cần phải thêm vị trí tệp cho java.exe vào PATHbiến môi trường. Và cũng đối với một số tiện ích bên thứ ba khác, JAVA_HOMEbiến môi trường cũng được yêu cầu.

Thông thường các nhà phát triển java luôn cần cài đặt JDK (JRE được bao gồm trong JDK). Và PATHđược đặt thành thư mục của bin bin, trong thư mục cài đặt JDK (trong trường hợp OP C: \ Program Files \ Java \ jdk1.6.0_40 \ bin ) trong khi JAVA_HOMEđược đặt thành thư mục cài đặt JDK (trong trường hợp OP C: \ Program Files \ Java \ jdk1.6.0_40 ).

Ở đây OP chỉ có JDK 32 bit nhưng cố gắng sử dụng Eclipse 64 bit. Vì vậy, để khắc phục sự cố OP cần cài đặt JDK 64 bit. Và sự thay đổi JAVA_HOME& PATHEnvironment Variables ” để phù hợp với vị trí lắp đặt.

Đây là các bước đầy đủ hơn:

  • Tải xuống và cài đặt JDKx.x.x_xx 64 bit
  • Sau đó mở Windows Explorer, nhấp chuột phải vào biểu tượng Máy tính và chọn

    Thuộc tính -> Cài đặt hệ thống nâng cao .
    Nó sẽ mở cửa sổ Thuộc tính hệ thống và trong tab Advanced Advanced chọn Chọn Môi trường Biến Biến để mở cửa sổ chỉnh sửa.

  • Trong phần Biến hệ thống, hãy tìm JAVA_HOMEtên biến và nhấp vào nút Chỉnh sửa Thay đổi ở phần dưới cùng, nếu không có sẵn, hãy nhấp vào nút Mới và nhập C: \ Chương trình tệp \ Java \ jdk1.6.0_40 và nhấp vào OK.

  • Sau đó chọn PATHbiến và nhấp vào Chỉnh sửa Chỉnh sửa và nối %JAVA_HOME%\bin; ở phía trước hoặc %JAVA_HOME%\binđến cuối chuỗi hiện có. KHÔNG viết quá chuỗi hiện có và bấm OK -> OK -> OK để hoàn thành.

Bây giờ Eclipse sẽ được mở mà không có lỗi.

Chú thích:

  • Nếu ai đó cần sử dụng Eclipse 32 bit thì đường dẫn JDK mặc định sẽ là C: \ Program Files (x86) \ Java \ jdkx.x.x_xx

  • Khi thay đổi PATHcác biến Môi trường trong Windows 10, có một cửa sổ bổ sung sẽ xuất hiện như trong hình bên dưới.

nhập mô tả hình ảnh ở đây


0

Tôi đã phải đối mặt với vấn đề tương tự nhưng tôi đã có giải pháp.

Kiểm tra xem Eclipse là 32 hay 64 bit, sau đó

  1. Nếu là 32 bit thì đặt JAVA_HOME thành phiên bản 32 bit của jdk
  2. Nếu Eclipse là 64 bit thì đặt JAVA_HOME thành phiên bản 64 bit của jdk
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.