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

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

在此之后,Eclipse部队关闭。

以下是我想说的几点:

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

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


当前回答

正如许多人已经提到的,对于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目录。

其他回答

你需要一个64位的trio:

64位操作系统 64位Java 64位Eclipse

我经历过所有的Eclipse错误,这是其中之一。问题是Eclipse 64位版本。下载32位版本并启动它。

我也有同样的问题

我通过安装64位JVM来解决这个问题

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

我想为这个错误提供另一种解决方案,特别是针对那些希望在一个系统中同时使用32位和64位Eclipse的人。

如果JRE子目录存在,Eclipse将使用JRE/JDK启动。(STS或其他基于eclipse的IDE也支持此功能…)

解决方案是使用mklink.exe命令创建目录连接,该命令存在于windows vista或更新版本中(junction.exe为windows 2000/XP提供类似的功能) 打开命令行窗口,执行如下命令:

mklink /j "$ECLIPSE-HOME/jre" "$JDK_or_JRE_home"

当然,如果Eclipse用于64位Windows, JDK/JRE的体系结构必须相同。

假设:

Eclipse for windows x86_64安装在d:\devTool\ Eclipse中 JDK for windows x64安装在C:\Program Files\Java\jdk1.8.0

创建jre文件夹的命令如下:

mklink /j "d:\devTool\eclipse\jre" "C:\Program Files\Java\jdk1.8.0"

顺便说一句,删除目录连接不会删除任何文件。如果您创建了一个错误的链接,您可以使用文件资源管理器或rmdir命令删除它。

删除文件夹“d: \ devTool \ eclipse \ jre”

谢谢misterfrb,我意识到Eclipse给出了这个错误,因为我刚刚安装了Oracle 10g开发套件,它正在C:\DevSuiteHome_1文件夹中寻找jvm.dll文件(我必须选择再次安装JDK和开发套件)。

在从路径变量中删除DevSuiteHome行并添加64位jvm.dll的修正位置(不确定这是否必要,没有尝试)之后,Eclipse再次工作,开发套件也仍然工作。