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

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

在此之后,Eclipse部队关闭。

以下是我想说的几点:

我查了下那条路径上有没有东西。它确实存在。 我的Eclipse和Java SE Development Kit都是64位的。我检查了我的系统,它可以处理64位。 我在谷歌和Stack Overflow上搜索过这个问题,我找到的唯一答案是下载32位版本的JDK和Eclipse。

下载32位版本是我想做的最后一件事。 如何解决这个问题?


当前回答

我也遇到过类似的问题。它是通过以下方法解决的。

将Eclipse移动到程序文件(而不是程序文件(x86))。 从'path'环境变量中删除32位Java版本的路径。

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

其他回答

我不知道为什么,但我有jre安装到我的c:\windows目录和java.exe和javaw.exe在我的windows\system32目录。

显然,即使在eclipse.ini文件中添加了-vm标志后,这些目录仍然获得了优先级。

从这里删除他们为我解决了问题。

从Java 6升级到Java 7后,我也遇到了同样的问题。在我删除Java 6(64位)并重新安装Java 7(64位)后,Eclipse可以工作了。:)

这个错误意味着Eclipse的体系结构与Java运行时的体系结构不匹配,即如果一个是32位的,另一个必须是相同的,而不是64位的。

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

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

重要:这两行必须在-vmargs之前。不要使用引号;允许使用空格。

或者,获取相同“位”版本的JRE和Eclipse,然后用下面的目标创建一个新的快捷方式(替换已安装的JRE和Eclipse位置/路径):

"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

这样应该可以了。

这是因为窗口路径的交互方式。32位JRE在64位版本之前列出。因为32位和64位版本的javaw.exe名称相同,所以它会尝试找到的第一个版本。更改Path environment变量的顺序,使64位版本在列表中的位置高于32位版本,这样它就能正常工作。