【问题标题】:Eclipse: Failed to load the JNI shared library "C:\Program Files(x86)\Java\jdk1.7.0_15\bin\..\jre\bin\client\jvm.dllEclipse:无法加载 JNI 共享库“C:\Program Files(x86)\Java\jdk1.7.0_15\bin\..\jre\bin\client\jvm.dll
【发布时间】:2013-02-05 17:53:21
【问题描述】:

我正在尝试安装 Eclipse。为了安装,我已完成以下操作。

  • 在C:​​\Program Files(x86)\Java\JDK 1.7.0_15中安装了JDK 7u15 64位(实际下载名称:jdk-7u15-windows-i586.exe)

  • 我在管理员中运行 cmd 并输入“C:\Users\Alfred>java -version”,这给了我 "Java 版本 "1.7.0_15" java(TM) SE Runtime Enviroment (build 1.7.0_15-b03) Java Hotspot(TM) Client VM(build 23.7-b01,混合模式,共享)

  • 在同一个 cmd 窗口中,我输入了“C:\Users\Alfred>javac -version”,得到了“javac 1.7.0_15”

最后两点应该意味着我的路径设置在正确的位置吗?

  • 我下载了 Eclipse IDE for Java developer 64 bit(实际下载名称:eclipse-java-juno-SR1-win32-x86_64.zip)并解压到我的桌面

  • 我检查了我的系统是 64 位的三倍(开始>控制面板>系统>系统类型:64 位操作系统)

  • 我已经从 C:\windows\system32 中找到并删除了 java.exe 和 javaw.exe 解决了 错误消息“C:\Program Files\Java\jre7\lib\amd64\jvm.cfg'

我现在的问题是当我尝试启动 eclipse 时出现以下错误消息:

  • 无法加载 JNI 共享库“C:\Program Files(x86)\Java\jdk1.7.0_15\bin..\jre\bin\client\jvm.dll

我已确定此 .dll 文件存在。我环顾四周,每个人都说要确保一切都是 64 位的。我不知道现在该怎么办。我怎么修?非常感谢任何和所有帮助。

【问题讨论】:

标签: java eclipse installation


【解决方案1】:

jdk-7u15-windows-i586.exe 不是 64 位的。

为 64 位重新安装 Java 7。

【讨论】:

  • ===============================
  • 你完全正确。他妈的。非常感谢,这让我发疯了。
  • 现在为什么会发生这种情况我正确地遵循了方向所以我最终是如何安装不是 64 位 hmmmmm 的东西
  • 在哪里可以找到下载链接,适用于 Windows 7 操作系统?
  • 不同windows版本的JDK没有区别。 32/64 位只有不同的版本。直接从 Oracle 站点下载。在谷歌中输入:“java jdk”并使用第一个结果。
【解决方案2】:

如果您安装了 64 位 java(您正在运行 64 位 Windows,并且您有 c:\program files\java\jre7 例如 - not program files (x86)!)但您仍然收到此错误,很可能您路径上的第一个 java 是 32 位。

(您可以通过从 cmd.exe 运行 java -version 来检查这一点,如果您没有看到文本 64-bit [例如 Java HotSpot(TM) 64-Bit],那么您的路径上首先有 32 位 java。)

如果您有许多 eclipse 副本(可能用于黑莓 7 开发),那么将路径更改为指向 64 位 java 可能会让您头疼。

相反,您可以编辑 eclipse.ini 文件(在 Android SDK 的 eclipse 目录中)并添加以下行:

-vm
C:\Program Files\Java\jre7\bin\javaw.exe

它们在整个文件的上下文中显示:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120913-144807
-product
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
256M
-showsplash
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
C:\Program Files\Java\jre7\bin\javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx768m
-Declipse.buildId=v22.2.1-833290

这指示 eclipse.exe 在哪里可以找到 java VM,而不依赖于系统环境变量。

【讨论】:

  • 不得不在我的机器上使用这个解决方案,因为 Visual Studio SSDT 仅在 32 位中可用,而我使用 64 位 Eclipse
【解决方案3】:

除了安装 64 位 JVM,您可能还需要修改系统路径以覆盖从 Windows\System32 指向的任何 JVM。只需在 Windows\System32 之前的路径中引用 JVM 安装的 \bin 目录即可。

【讨论】:

  • 我在 windows\system32 之前添加了 \bin 目录,然后又在路径的开头添加了。不工作。谢谢你的建议!
【解决方案4】:

它也对我有用,我在 64 位操作系统上安装了 32 位 JDK, 现在我用 64 位更新了我的 JDK.. 问题得到了解决..

我了解到,在您安装 64 位应用程序之前,32 位 JDK 仍然可以在 64 位操作系统上正常运行,没有任何问题。

【讨论】:

    【解决方案5】:

    这可能与主机上安装的多个 JDK 版本(包括自动更新)冲突。尝试卸载重复的更新版本,它可以工作。

    【讨论】:

      【解决方案6】:

      最可靠的修复方法是在eclipse.ini中添加JVM位置:

      -vm 
      C:/Program Files/Java/jdk1.8.0_112/jre/bin/server/jvm.dll
      

      重要提示:这两行必须在-vmargs 之前和org.eclipse.platform 之后。
      不要使用引号;允许空格。

      【讨论】:

        【解决方案7】:

        这个错误是由于版本EclipseJDK安装不匹配造成的。您的 Eclipse 位于 32-bit 中,而 JVM 位于 64-bit 中,反之亦然。

        【讨论】:

          猜你喜欢
          • 2014-01-09
          • 2014-01-26
          • 2012-06-13
          • 2014-06-03
          • 1970-01-01
          • 2013-09-11
          • 2017-06-04
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多