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

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

在此之后,Eclipse部队关闭。

以下是我想说的几点:

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

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


当前回答

解决这个问题的一个简单方法是将jre文件夹从已安装的JDK复制到Eclipse安装文件夹中。确保您复制的JDK与Eclipse安装的体系结构相同。

我必须这样配置我的机器,因为我在我的机器上同时运行Eclipse和Appcelerator Titanium Studio。Studio需要32位Java,而Eclipse需要64位Java。

其他回答

确保以Administrator权限启动Eclipse。

确保您的eclipse.ini文件包含以下几行。

-vm
C:\path\to\64bit\java\bin\javaw.exe

以eclipse.ini为例:

-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位或32位的操作系统和Eclipse保持一致,并配置Eclipse .ini。

您的eclipse.ini文件可以在eclipse文件夹中找到。

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

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

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

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

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

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

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

正如许多人已经提到的,对于Eclipse和Java来说,这是一个32位和64位的问题。你不能混淆32位和64位。由于Eclipse不使用JAVA_HOME,您可能必须在启动Eclipse之前更改PATH,以确保您使用的不仅是适当的Java版本,而且是32位或64位的Java版本(或者像Jayath指出的那样修改INI文件)。

如果您正在从公司共享中安装Eclipse,您应该确保您可以知道您正在解压缩哪个Eclipse版本,并解压缩到相应的Program Files目录,以帮助跟踪哪个是哪个,然后更改PATH(可以通过(Windows)控制面板-> System永久地更改PATH=/ PATH /到/32或64bit/java/bin;%PATH%(如果您不想在系统和/或用户环境变量中设置它,可能会创建一个批处理文件)。记住,32位是在程序文件(x86)中。

如果不确定,只需启动Eclipse,如果得到错误,将PATH更改为Java的其他“位”版本,然后再试一次。然后将Eclipse目录移动到适当的Program Files目录。