問題
執行 JUnit 時會吐出以下類似錯誤訊息:Exception occurred executing command line.Cannot run program "C:\Program Files\Java\jre6\bin\javaw.exe" (in directory "D:\src\expweb\expweb\trunk"): CreateProcess error=206, The filename or extension is too long
解法
Someone has written the SOP, you can fix this bug on your own.https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193#c69
有人幫忙修改好相關的程式碼轉成 class 檔,下載後按下面步驟做即可:
- 備份 ${elipse_home}/plugins/org.eclipse.jdt.launching_3.4.*.jar。
- 關掉 Eclipse。
- 把 ${elipse_home}/plugins/org.eclipse.jdt.launching_3.4.*.jar 改成 .zip。
- 把下載的四個 class 檔案放入 zip 檔中的 org\eclipse\jdt\internal\launching (覆蓋原有的 class 檔)。
- 把 zip 檔 META-INF 資料夾下除了 MANIFEST.MF 都刪除。
- 修改 MANIFEST.MF 把 "NAME:" 開頭的項目都刪除,確認有留兩列空白列。
- 把 .zip 改回 .jar。
- 重啟 Eclipse 即可。
下載 Download Here!!
If you are using Eclipse 4.2 Juno and org.eclipse.jdt.launching_3.6.100.v20120523-1953.jar, you can download the new jar file here! Enjoy it!如果你剛好跟我一樣
- 都是用 Eclipse 4.2 Juno
- jar 檔名也是 org.eclipse.jdt.launching_3.6.100.v20120523-1953.jar
官方討論
https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193看來是因為引用到的外部函示庫、其他專案太多,造成 Eclipse 呼叫 Java 執行 JUnit 時的 ClassPath 太長就爆炸了。
在 Windows 下的 Eclipse 都有可能發生此問題,然後官方只會在 Eclipse 4.3 之後才會修復(官方認為大多數人都不會發生這問題,但也不是每個人都只是寫寫 Hello World 啊 囧rz)。
0 則回應: