1. 程式人生 > >eclipse 本地工程單元測試出現can not run program"XXXX/javaw.exe" error=87

eclipse 本地工程單元測試出現can not run program"XXXX/javaw.exe" error=87

報這個錯有2個解決方法:

1. 修改長路徑:http://www.myexception.cn/ruby-rails/439356.html

當eclipse控制檯報出Cannot run program “"C:\Program Files\Java\jre6\bin\javaw.exe" (in directory "D:\workspace\test"): CreateProcess error=87, 2êy′í”的錯誤時,可以考慮是不是因為eclipse裡設定的某個環境變數路徑(可通過Window->Preferences->Java->Build Path->Classpath Variables檢視)太長太深。我遇到的問題是因M2_REPO這個環境變數引起的,它儲存的是maven本地庫的位置。

解決方法:

一、

1、在較淺的目錄新建maven本地庫資料夾。例如D:/m2。
2、修改%MAVEN_HOME%/conf/settings.xml檔案,修改<localRepository></localRepository>節點的內容為<localRepository>D:/m2</localRepository>。
(注:預設<localRepository></localRepository>節點是被註釋掉的,本地庫路徑指向C:\Documents and Settings\CURRENT_USER\.m2\repository,其中CURRENT_USER為當前登入使用者名稱。這種情況下,只需要在檔案中新增<localRepository>D:/m2</localRepository>即可。)
3、將原maven本地庫中的所有包拷貝到新目錄D:/m2中。
4、修改eclipse中M2_REPO環境變數的值(Window->Preferences->Java->Build Path->Classpath Variables),把原M2_REPO值修改為D:/m2。
5、F5重新整理工程,如果工程前還帶紅叉,可以執行Project->Clean...。over~

二、 如果還不成功,按照這個方法

http://blog.csdn.net/vking_wang/article/details/9168057

谷歌說是因為classpath太長的緣故,WINDOW官網上講:the max command prompt line length in windows xp is 8191 characters。

解決辦法當然是讓classpath變短,可以刪掉哪些不用的path。

如果每個path都是有用的,該怎麼辦呢?

可以嘗試:

eclipse --> Run --> Run configuration --> 在classpath tab頁中找到default classpath,右擊 --> Edit --> 選中Only include exported entries

---------------------------------------------------------------------可恥的分割線--------------------------------------------------------------------------------------------

(最開始發現這個問題,是在自己執行單元測試的時候發現的就是報這個error=87的錯,開始覺得自己不怎麼寫單元測試,就沒管它,就這樣困擾了我大概2周左右的時間,今天準備寫下單元測試,發現這個問題繞不過去了,花了我2個多小時的時間解決了這個問題。就是用的解決方法一)

以後遇到這樣的問題,要及時解決,以免夜長夢多~~~~~~~~~