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

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

在此之后,Eclipse部队关闭。

以下是我想说的几点:

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

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


当前回答

您已经在环境变量中更改了JAVA_HOME和PATH的正确版本。

其他回答

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

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

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

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

可以在64位机器上安装32位版本的JDK。参见JDK 7下载。

最简单的解决方案是在eclipse.ini中包含一个特定的JRE:

wiki.eclipse.org/Eclipse.ini

有了它,您几乎可以启动任何Eclipse版本

OS、JDK和Eclipse的工作配对:


32位OS | 32位JDK | 32位Eclipse(仅32位) 64位操作系统| 32位JDK | 32位Eclipse 64位OS | 64位JDK | 64位Eclipse(仅64位)


我安装了几个jdk和jre。

它们每个在PATH变量中都有自己的条目,都或多或少地在工作。

从PATH变量判断,有些安装完全无用,因为它们从未被使用过。当然,如果需要,可以在Eclipse中手动引用“不活跃”的java,但我从来没有这样做过,所以我真的不需要它们。(至少我当时是这么认为的……)

我清理了这些混乱,卸载了所有当前的Java,只安装了JDK + JRE 1.7 64位。

其中一个Eclipse“安装”失败后,加载JNI共享库失败和一个给定的路径相对于新安装的JDK,它认为jvm.dll所在的位置。

在我的全部64位设置中,失败的Eclipse是唯一一个仍然是32位版本的ide。

像经常提到的那样,在eclipse.ini中添加VM参数对我的情况没有用处(因为我只使用了错误的JDK/JRE)。

我也无法找到如何检查这个Eclipse是32位版本还是64位版本(我无法在任务管理器中查找它,因为这个Eclipse“安装”无法启动。因为我安装它已经有一段时间了,我也不记得它的版本了。)

如果您使用较新的JDK和较旧的JRE,您可能也会遇到麻烦,但这时更有可能出现java.lang.UnsupportedClassVersionError, IIRC。

我安装了多个版本的Java,包括Sun JDK和JRockit, 32位和64位等,在新安装64位Eclipse for Java EE (JUNO)时遇到了这个问题。

什么不起作用:

由Peter Rader提出的64位三人组:

我在64位操作系统(Windows 7)上使用64位Eclipse。

我确保Sun JDK 7 64位是默认的java版本。当我从命令行(cmd.exe)输入“java -version”时,Sun JDK 7 64位返回…

java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

这并没有解决我的问题。

有效的方法:

根据Jayesh Kavathiya的建议,在eclipse.ini中添加-vm选项:

我在eclipse.ini中添加了以下内容:

-vm
C:/apps/java/jdk7-64bit/bin/javaw.exe

注意:

我不需要卸载机器上的各种版本的JDK或JRE。