无法加载 JNI 共享库(JDK)

当我尝试打开Eclipse 时 ,弹出对话框指出:

无法加载 JNI 共享库 “C:/JDK/bin/client/jvm.dll”。

此后,Eclipse 强制关闭。

我想提出几点:

  • 我检查了该路径是否存在任何东西。它确实存在。
  • 我的 Eclipse 和Java SE 开发套件都是 64 位的。我检查了系统,它可以处理 64 位。
  • 我已经在 Google 和 Stack Overflow 上搜索了此问题,发现的唯一答案是下载 32 位版本的 JDK 和 Eclipse。

作为最后的选择,我只想下载 32 位版本。
有什么建议可以解决这个问题?

答案

您需要一个64-bit三重奏:

  • 64-bit 操作系统
  • 64-bit Java
  • 64-bit Eclipse

OS,JDK 和 Eclipse 的有效配对:


  • 32-bit 操作系统 | 32-bit JDK | 32-bit Eclipse仅 32 位
  • 64-bit 操作系统 | 32-bit JDK | 32-bit Eclipse
  • 64-bit 操作系统 | 64-bit JDK | 64bit Eclipse仅 64 位

我安装了几个 JDK 和 JRE。

他们每个人在 PATH 变量中都有自己的条目,所有的人或多或少都在工作。

从 PATH 变量来看,某些安装完全没有用,因为它们从未使用过。当然,如果需要的话,可以从 Eclipse 中手动引用 “非活动” Java,但是我从来没有这样做过,所以我真的不需要它们。 (至少我当时是这么认为的...)

我清理了混乱的局面,卸载了所有当前的 Java,仅安装了 JDK + JRE 1.7 64 位。

如果您使用较新的 JDK 和较旧的JRE,也可能会遇到麻烦,但是很可能会出现java.lang.UnsupportedClassVersionError ,即IIRC

-vm
C:\path\to\64bit\java\bin\javaw.exe
-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

我有同样的问题

我通过从安装 64 位 JVM 来解决它

http://www.java.com/en/download/manual.jsp

-vm
C:\Program Files (x86)\Java\jdk1.7.0_55\bin\javaw.exe
"C:\Program Files\eclipse\eclipse.exe" -vm "c:\Program Files\Java\jdk1.7.0_04\bin\javaw.exe"
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)
-vm
C:/apps/java/jdk7-64bit/bin/javaw.exe
-vm
C:\Progra~1\Java\jdk1.6.0_38\jre\bin\server\jvm.dll

我有一个类似的问题。解决了以下问题。

  • 将 Eclipse 移动到Program Files (而不是Program Files(x86) )。
  • 从 “路径” 环境变量中删除 Java 32 位版本的路径。

我已经安装了两个版本的 Java,但是 Eclipse 一直尝试使用 32 位版本。

-vm
yourdrive\java\bin