当我尝试打开Eclipse时,弹出对话框显示:
加载JNI共享库“C:/JDK/bin/client/jvm.dll”失败。
在此之后,Eclipse部队关闭。
以下是我想说的几点:
我查了下那条路径上有没有东西。它确实存在。
我的Eclipse和Java SE Development Kit都是64位的。我检查了我的系统,它可以处理64位。
我在谷歌和Stack Overflow上搜索过这个问题,我找到的唯一答案是下载32位版本的JDK和Eclipse。
下载32位版本是我想做的最后一件事。
如何解决这个问题?
我想为这个错误提供另一种解决方案,特别是针对那些希望在一个系统中同时使用32位和64位Eclipse的人。
如果JRE子目录存在,Eclipse将使用JRE/JDK启动。(STS或其他基于eclipse的IDE也支持此功能…)
解决方案是使用mklink.exe命令创建目录连接,该命令存在于windows vista或更新版本中(junction.exe为windows 2000/XP提供类似的功能)
打开命令行窗口,执行如下命令:
mklink /j "$ECLIPSE-HOME/jre" "$JDK_or_JRE_home"
当然,如果Eclipse用于64位Windows, JDK/JRE的体系结构必须相同。
假设:
Eclipse for windows x86_64安装在d:\devTool\ Eclipse中
JDK for windows x64安装在C:\Program Files\Java\jdk1.8.0
创建jre文件夹的命令如下:
mklink /j "d:\devTool\eclipse\jre" "C:\Program Files\Java\jdk1.8.0"
顺便说一句,删除目录连接不会删除任何文件。如果您创建了一个错误的链接,您可以使用文件资源管理器或rmdir命令删除它。
删除文件夹“d: \ devTool \ eclipse \ jre”
确保您的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文件夹中找到。
我安装了多个版本的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。