2013-03-08 89 views
3

我有一個包含大量測試用例的項目,我使用Maven surefire插件2.13進行編譯。當我設置了forkmode = none一切工作正常,但是當我省略項,默認forkmode成爲once和我的項目失敗:Maven Surefire 2.13無法在Windows上分叉

Forking command line: cmd.exe /X /C ""C:\Program Files\Java\jdk1.6.0_37\jre\bin\java" -jar G:\Gottware-server\core\math\target\surefire\surefirebooter 
7758025909061587587.jar G:\Gottware-server\core\math\target\surefire\surefire8735550212668630533tmp G:\Gottware-server\core\math\target\surefire\suref 
ire_08386349728753606434tmp" 
The system cannot find the path specified. 

它看起來就像是一個操作系統的問題,我使用的是Windows 7,什麼都可以出錯了? IT的好奇也succesfull建立後,我得到了同樣的錯誤:

[INFO] ----------------------------------------------- 
[INFO] BUILD SUCCESS 
[INFO] ----------------------------------------------- 
[INFO] Total time: 15.504s 
[INFO] Finished at: Fri Mar 08 15:08:54 CET 2013 
[INFO] Final Memory: 13M/353M 
[INFO] ----------------------------------------------- 
The system cannot find the path specified. 

其實我已經調試我的我的mvn.bat

cmd /C exit /B %ERROR_CODE% 

的行家的最後一行,這根本不工作了返回:

The system cannot find the path specified. 

我還去了在debuggining:

U:\>cmd.exe 
Microsoft Windows [Version 6.1.7601] 
Copyright (c) 2009 Microsoft Corporation. All rights reserved. 
The system cannot find the path specified. 
+0

顯示您的文件? – khmarbaise 2013-03-13 16:47:09

+0

這個問題並不像與Maven做的,而是用我的電腦設置... – Edmondo1984 2013-03-13 17:08:52

+0

U:\> CMD.EXE 的Microsoft Windows [版本6.1.7601] 版權所有(C)2009年微軟公司。版權所有。 系統找不到指定的路徑。 – Edmondo1984 2013-03-14 17:57:37

回答

1

在您粘貼的行,我看到了一倍,雙引號:

Forking command line: cmd.exe /X /C ""C:\Program 
            ^^^^ 

也許你已經設立了一個壞值JAVA_HOME(或您已經定義了Java的路徑中其它地方)。這也可以解釋爲什麼它不會在其他系統上失敗:你在那裏有一個不同的(和正確的)JAVA_HOME。

+0

我的Java家是正確的,它看起來像Maven是圍繞與雙括號 – Edmondo1984 2013-03-08 16:09:21

+1

我也使用的是Windows 7,神火與forkmode「一次」插件,看看在日誌中相同的語句:'分叉命令行內容:cmd.exe/X/C「」c:\ Program Files \ Java ...'。它對我來說工作得很好。 – user944849 2013-03-09 03:44:02

+0

它看起來像問題是與CMD/C出口/ B 0 – Edmondo1984 2013-03-11 08:10:27

1

surefire插件並不總是報告友好的錯誤。幾件我能想到的事情檢查:

  • G:\Gottware-server\...有多少磁盤空間可用?你能否碰到一個磁盤配額(在NAS上)或者你的筆記本電腦硬盤滿了?
  • 檢查本地工件存儲庫的位置。你有沒有達到配額/用完了嗎?
  • 構建機器上有多少內存可用?您是否有足夠的內存可用於在單獨的JVM中運行測試,如果是,是否將JVM配置爲具有足夠的內存?您可以嘗試使用<argLine>屬性來配置分叉虛擬機的內存設置。 (我已經運行Eclipse,和多個瀏覽器窗口,等等。當在這種情況下,降低了內存設置爲分叉JVM解決了這個問題也有幫助別人誰在<argLine>有巨大的內存設置,超過可用的機器上。)
+0

所有工作。看起來問題出在我的機器設置上:運行cmd/C exit/B%ERROR_CODE%不起作用! – Edmondo1984 2013-03-09 12:26:53

相關問題