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

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

在此之后,Eclipse部队关闭。

以下是我想说的几点:

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

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


当前回答

只需检查PATH环境变量。在我的电脑->属性->高级系统设置->环境变量->(左上窗口“用户变量为“PC的一些名称””)只需检查PATH变量。如果它不存在,则使用以下命令创建它——> C:\Program Files (x86)\Java\jre7\bin <——

在更新了Eclipse之后,我也遇到了同样的问题。我发现该路径要求64位版本,但我有32位的dif路径。这对我很有帮助。附注:我有一个64位的操作系统,32位的JRE和32位的Eclipse。一切工作正常:)

其他回答

简单,我有一个64位的操作系统,32位的Eclipse和JDK 32和64安装…我刚刚卸载了64位JDK和Eclipse工作正常。

上面的答案让我很感兴趣,所以我决定演练一下OS、Eclipse和JVM三人组的所有可能组合。无论如何,无论谁正在深入研究和阅读我的帖子,检查以下作为一个热点(我是Windows 7用户)。

You understand Program Files and Program File (x86) are two different folders... x86 stands for the 32-bit version of programs and the former is the 64-bit version. If you have multiple versions of Java installed with different bitness and release versions, which is bound to happen with so many open source IDEs, managers, administrative consoles, the best option is to set the VM argument directly in the eclipse.ini file. If you don't, Eclipse will go crazy and try searching itself which is not good.

我想为这个错误提供另一种解决方案,特别是针对那些希望在一个系统中同时使用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”

在Eclipse的下载页面上,应该写“JRE 32位”或“JRE 64位”,而不是“Windows 32位”或“Windows 64位”。

请确保使用与您的JDE兼容的正确版本,如前所述。

对于丢失的jvm.dll文件,我们可以在eclipse.ini文件中提供dll文件的路径为

-vm
C:\Progra~1\Java\jdk1.6.0_38\jre\bin\server\jvm.dll

在这里,重要的是删除路径中的任何空格和双引号。 当我删除引号和空格时,它为我工作。

我希望它能帮助到一些人。