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

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

在此之后,Eclipse部队关闭。

以下是我想说的几点:

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

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


当前回答

您可以解决这个问题,因为许多其他复制。您需要Eclipse和JDK都是32位的,或者都是64位的。操作系统的架构并不重要,而其他的仍然是相同类型的架构。

其他回答

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

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

解决这个问题的一个简单方法是将jre文件夹从已安装的JDK复制到Eclipse安装文件夹中。确保您复制的JDK与Eclipse安装的体系结构相同。

我必须这样配置我的机器,因为我在我的机器上同时运行Eclipse和Appcelerator Titanium Studio。Studio需要32位Java,而Eclipse需要64位Java。

这是因为窗口路径的交互方式。32位JRE在64位版本之前列出。因为32位和64位版本的javaw.exe名称相同,所以它会尝试找到的第一个版本。更改Path environment变量的顺序,使64位版本在列表中的位置高于32位版本,这样它就能正常工作。

如果你使用整个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.ini文件包含以下几行。

-vm
C:\path\to\64bit\java\bin\javaw.exe

以eclipse.ini为例:

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
-vm
C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exe
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

使用64位或32位的操作系统和Eclipse保持一致,并配置Eclipse .ini。

您的eclipse.ini文件可以在eclipse文件夹中找到。