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

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

在此之后,Eclipse部队关闭。

以下是我想说的几点:

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

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


当前回答

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

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

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

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

其他回答

是的,只要确保您的Eclipse和JDK版本都是64位的。为了确保一切正确,卸载JDK并将其安装在程序文件中,而不是安装在程序文件(x86)中。至少这解决了我的问题。

上面的答案让我很感兴趣,所以我决定演练一下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.

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

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

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

如果你使用整个64位三人组,它仍然不能工作(我在Intellij Idea中启动Android Monitor时遇到了这个问题),可能是错误的jvm.dll被使用,而不是你的java所期望的。只需遵循以下步骤:

在JRE目录下找到jvm.dll: C:\Program Files\Java\jre7\server\bin\jvm.dll 在JDK目录下找到jvm.dll: c:\Program Files\Java\ jdk1.7.0_xx \ jre \ bin \ server \ 将JRE目录中的jvm.dll复制到JDK目录中,并覆盖JDK中的jvm.dll。

别忘了做备份,以防万一。不需要安装或卸载任何与Java相关的东西。

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

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

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

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