情景:
在eclipse中,執行main方法函數。
錯誤提示:
Exception occurred executing command line.Cannot run PRogram “D:/soft/java/jdk1.6.0_12/bin/javaw.exe” (in directory “E:/DevCode/Ali/20121008_ordercenter”): CreateProcess error=87, ²ÎÊý´í
分析:
網上有人說是由于classpath路徑太長導致,有人說是Maven倉庫的路徑太長導致,總之由于路徑長導致是對的,但是網上的很多解決的辦法是去把路徑改短,這里有投機取巧之嫌,因為萬一路徑超長,就算把maven respositroy 的路徑根目錄調整短一點也不至于就能解決問題。
正確的解決辦法應該是從eclipse根源去解決,這個問題是由于eclipse的一個BUG導致的,需要打下補丁去徹底解決該問題。
Eclipse bug report:https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193
解決辦法:
1、根據自己的eclipse版本,在Eclipse bug report頁面下載合適的補丁。比如我的eclipse indigo是3.6的,所以需要下載適合3.6版本的補丁。
2、解壓下載的文件,得到如下幾個文件。
3、到Eclipse的安裝目錄 $Eclipse_HOME/plugins/下找到org.eclipse.jdt.launching_XXX.XXX.jar文件(XXX部分由不同的版本可能不同,比如我的就是org.eclipse.jdt.launching_3.6.0.v20110509.jar),把該文件進行解壓
4、把下載的補丁的4個文件替換到解壓jar的同路徑org.eclipse.jdt.internal.launching下
5、把解壓jar根目錄下的META-INF/MANIFEST.MF用文本編輯器打開,把所有“Name:”開頭的類似于以下的文本全部刪除掉。我的版本中是從第26行開始,后面的全部刪除掉。另外,注意刪除完畢后,在最后一定要留上兩個空行。保存。
6、返回到解壓后的jar的根目錄,采用打包命令 jar cf org.eclipse.jdt.launching_XXX.XXX.jar *.* (jar的文件名一定要和你原先的名稱一致)進行打包。
7、打包得到org.eclipse.jdt.launching_XXX.XXX.jar 后,把該jar替換覆蓋至$Eclipse_HOME/plugins/,重啟Eclipse。
新聞熱點
疑難解答