64位Eclipse運行時提示“Failed to load the JNI shared library \Java\jre6\bin\client\jvm.dll”的一個解決方案
由於開發環境改變,改用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已經“聰明”地記住了正確的配置。
作者:cnblogs 邀月