当我尝试打开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。一切工作正常:)

其他回答

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

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

对于PDT用户——避免Zend下载页面——它没有任何64位下载链接。

使用eclipse站点本身。

上面的链接有一个较旧的3.6 Eclipse,由于Eclipse Bug #317785而无法更新自己。

我的解决方案是在64位Java的同时安装32位Java——这样Zend安装程序就可以正常工作了。

为了得到一个PHP IDE,人们必须经历大量的Java / Eclipse难题,这令人沮丧。

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

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。