0
我有一個是作爲一個jar文件創建和使用運行Java控制檯基於應用:如何獲得兄弟項目的jar工件的路徑?
java -jar commandlineapp.jar
該應用程序是使用Maven構建。我有一個JUnit測試項目,這也是一個Maven項目,即
parent
+- pom.xml
+- commandlineapp
| +-pom.xml
+- commandlineapp_test
+pom.xml
測試項目對commandlineapp的依賴,以確保應用程序之前運行測試構建。
測試項目有一些junit單元測試,使用ProcessBuilder
執行commmandlineapp。例如。
String jarfile =
"C:\\Users\\me\\.m2\\repository\\my\\org\\commandlineapp\\0.0.1-SNAPSHOT\\commandlineapp-.0.1-SNAPSHOT.jar";
ProcessBuilder pb = new ProcessBuilder("java", "-jar", jarFile);
此刻,你可以看到我有一個硬編碼的路徑到commandlineapp jar文件。
問題:有一些元數據,我可以用它來查找兄弟項目的jar路徑嗎?理想情況下,我仍然希望能夠從eclipse運行單元測試,除了從maven運行它們。
任何特別的原因JUnit測試案例活在自己的模塊? –
我認爲這些測試可能會被移到相同的模塊中。 –
@Duncan,感謝您的靈感。我現在將相對文件夾''target \ classes''作爲ProcessBuilder的''-cp'''參數並直接執行該類,而不是使用''-jar'''選項。 –