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

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

在此之后,Eclipse部队关闭。

以下是我想说的几点:

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

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


当前回答

确保您的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文件夹中找到。

其他回答

谢谢misterfrb,我意识到Eclipse给出了这个错误,因为我刚刚安装了Oracle 10g开发套件,它正在C:\DevSuiteHome_1文件夹中寻找jvm.dll文件(我必须选择再次安装JDK和开发套件)。

在从路径变量中删除DevSuiteHome行并添加64位jvm.dll的修正位置(不确定这是否必要,没有尝试)之后,Eclipse再次工作,开发套件也仍然工作。

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

我安装了多个版本的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。

确保以Administrator权限启动Eclipse。

在我的例子中,我试图从命令提示符启动java,但得到了这个错误

无法打开“C:\Windows\jre\lib\amd64\jvm.cfg”

这意味着“java”是从这个错误的目录开始的PATH中查找的。删除文件夹C:\Windows\jre\就解决了这个问题