Eclipse啓動報 CreateProcess error 錯誤正確解決辦法

本文轉載於:http://wangchongan.com/articles/eclipse-createprocess-error.html


今天遇到在用Eclipse indigo 3.6啓動一個類的Main方法時遇到報錯,啓動不成功,Eclipse彈出如下異常:

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,OK,問題解決了吧?

參考資料:http://coderwall.com/p/795oma


替換的jar文件下載地址 :http://download.csdn.net/detail/m_drm/7081007

(全文完)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章