64位版Eclipse运行时提示“Failed to load the JNI shared library \Java\jre6\bin\client\jvm.dll”的解决方案

标签: dll Eclipse 64
发布时间: 2013/2/4 14:30:18

由于重装了win7 64位版,因此改用64位Juno 64位 SP1环境替换了原来的Juno 32位。结果启动Eclipse报错:

"Failed to load the JNI shared library “E:\2000\Java\JDK6\bin\..jre\bin\client\jvm.dll”

其他环境要用到默认的JDK 1.6.0_37 32位,默认并配置在默认变量JAVA_HOME中,路径为E:\2000\Java\JDK6。

于是新装JDK 1.6.0_37 64位,路径为E:\2000\Java\JDK64,启动Eeclipse再次报错,同上。

邀月工作室

仔细想想,Eclipse启动时应该会先从本身配置中先寻找JVM,于是在Eclipse.ini中增加两行:

-vm
E:\2000\Java\JDK64\bin\javaw.exe

依然出错,同上。于是索性将系统环境变量中,JAVA_HOME设置为:E:\2000\Java\JDK64。这次能够正常启动了,可是,其他系统要用32位的时候,又报同样错误。仔细查看Eclipse.ini,发现OpenFile后增加了如下项:

-vm
E:/2000/Java/JDK64/bin/javaw.exe

而我原来是加在文件末尾,位置错误,所以没有生效。(邀月注:其实将原来两行放在OpenFile后也可以。)于是,将JAVA_HOME重新设置为:E:\2000\Java\JDK6

再尝试用E:\2000\Java\eclipse\eclipse.exe -clean -nl en_US 重新启动Eclipse ,结果报错:JVM Terminated. Exit code=-1

仔细查看,考虑可能是内存参数问题:

将:

-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-Xms40m
-Xmx512m

修改为:

-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-Xms40m
-Xmx256m

重新启动,终于正常。

启动正常后,再改回512M,依然可以正常启动Eclipse。似乎Eclipse已经“聪明”地记住了正确的配置。


赞助商