2012-02-08 28 views
2

我得到一個:運行生成超長命令行的java測試時避免錯誤?

Exception occurred executing command line. 
CreateProcess 

原因由過長的命令行(太多庫,太長路徑罐)從Eclipse中運行時。 對我來說,唯一的解決方案是以配置的方式運行......然後創建一個配置,刪除所有默認的依賴關係,並手動添加所需的東西,所以命令行不會被截斷。

我通常爲jUnit測試做這件事。

這是浪費時間,有沒有不同的解決方案?

感謝

回答

4

如果你是基於java> = 6,你可以使用classpath wildcards

這應該是足夠的,除非你的文件系統周圍散落着你的罐子,這需要進行一些清理。

編輯

如果你只是在Eclipse中運行JUnit測試與run as junit test那麼你可以定義「用戶庫」,並添加到classpath中。雖然沒有經過測試,但它可能受到環境變量長度限制,但我認爲這是最安全的選擇。

EDIT2

您可以嘗試在this plugin提到this answer。它在靛藍工作,所以我想它會在helios上工作。

+0

那麼我可以使用它們,但日食是能夠做到這一點嗎?我使用3.6.2 helios – Toskan 2012-02-08 16:29:16

+0

@Toskan你究竟如何運行測試? – soulcheck 2012-02-08 16:53:16

+0

@Toskan看到編輯。 – soulcheck 2012-02-08 17:31:14

0

你可以玩弄分叉設置 - 如果你不分叉junit執行,你應該沒問題。然而,eclipse中的類路徑管理是一個很大的混亂 - 它並沒有將生產和測試範圍分開。

真正的替代方案是工作maven構建,你應該有,因爲eclipse不是一個適當的構建工具 - surefire插件提供了克服classpath環境短缺的替代方案。