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

时间:2013-02-20 16:22:08

标签: java eclipse install

我正在尝试安装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运行时环境(版本1.7.0_15-b03)Java Hotspot(TM)客户端VM(版本23.7-b01,混合模式,共享)

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

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

  • 我为Java开发人员下载了eclipse IDE 64位(实际下载名称: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位。我不知道现在该做什么。我怎么修理?非常感谢任何和所有帮助。

7 个答案:

答案 0 :(得分:11)

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

重新安装64位的Java 7。

答案 1 :(得分:7)

如果你安装了64位java(你正在运行64位窗口而你​​有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,而不依赖于系统环境变量。

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

我了解到,在安装64位应用程序之前,32位JDK在64位操作系统上仍能正常工作,直到你安装64位。

答案 4 :(得分:0)

这可能是主机上安装的多个JDK版本(包括自动更新)的冲突。尝试卸载重复的更新版本,它可以正常运行。In my case I have uninstalled duplicate update for JDK 7.

答案 5 :(得分:0)

最可靠的解决方法是在private func showGooglePlaces() { let autocompleteViewController = GMSAutocompleteViewController() autocompleteViewController.delegate = self if let currentLocation = currentLocation { let bounds = GMSCoordinateBounds(coordinate: currentLocation.coordinate, coordinate: currentLocation.coordinate) autocompleteViewController.autocompleteBounds = bounds } else { let filter = GMSAutocompleteFilter() filter.type = .establishment filter.country = "DE" autocompleteViewController.autocompleteFilter = filter } present(autocompleteViewController, animated: true, completion: nil) } 中添加JVM位置:

eclipse.ini

重要提示:这两行必须在-vm C:/Program Files/Java/jdk1.8.0_112/jre/bin/server/jvm.dll 之前和-vmargs之后 不要使用引号;允许空格。

答案 6 :(得分:0)

此错误是由于版本 Eclipse JDK 安装不匹配所致。您的 Eclipse 位于64-bit JVM 位于{{1}},反之亦然。