2015-10-05 58 views
-2

我有一個運行jar文件的情況。我在maven倉庫中添加了jar文件,並在我的pom中添加了依賴關係。我正嘗試使用進程執行器在java文件中運行以下命令。在java文件中運行maven jar文件

POM依賴:

 <dependency> 
      <groupId>com.vmware.vcac.qe.tools</groupId> 
      <artifactId>vcac-tools</artifactId> 
      <version>1.0.0</version> 
     </dependency> 

代碼Java中:

String command = "java -cp " + jarPath + " " + className + " " + propertiesFilePath; 
Runtime.getRuntime().exec(command); 

我想從maven的jar文件路徑。 jarPath以上的字符串應該是什麼值command

+0

你如何打包項目? – chengpohi

+0

作爲罐子罐子

+0

你把你的項目的依賴關係打包到同一個jar文件中嗎? – chengpohi

回答

0

技術上的路徑,你的Maven安裝文物應該是這樣的

<user_home_dir>/.m2/repository/com/vmware/vcac/qe/tools/vcac-tools/1.0.0/vcac-tools-1.0.0.jar 
+0

是的,這個工程。但這裏的問題是我不想硬編碼整個路徑。有沒有什麼辦法在java中使用get/system屬性獲取這條路徑? –

+0

另一種方法是將jar包與您的應用程序一起打包。這樣它就可以在您的應用程序的類路徑中使用,並且您可以在那裏訪問。你需要的是類似於[Uber jar]的東西(http://stackoverflow.com/questions/11947037/what-is-an-uber-jar)。 –