2012-09-05 57 views
0

可能重複:
Execute another jar in a java program運行Java程序到另一個程序

我嘗試運行的jar文件從另一個Java應用程序中的Java應用程序,但我不能讓它上班。我的代碼是低於

// run Jar in other java application 
Runtime run=Runtime.getRuntime();   
run.exec("java -jar ManichemManagerRotas BatchProcess 8 2012"); 

我試着用三個參數運行manichemmanagerrotas.jar

所有方法我能做到這一點,但它不能正常工作仍然問題是不能運行的JAR文件的主要方法類,如果你有這個問題的任何想法,PLZ給我重播我來說這是很重要的任務,我

我嘗試運行jar文件然後錯誤是:無法訪問jarfile ManichemManagerRotas

+0

...和這[在一個Java程序執行另一罐(http://stackoverflow.com/questions/1320476/execute-another-jar-in-a-java-program) – PrimosK

+0

嘗試添加缺失「的.jar」,並且消耗過程輸出......見下面的答案... – PrimosK

+0

您真的需要***才能閱讀['Runtime.exec()'info鏈接的Java World文章。在進一步研究之前,請閱讀http://stackoverflow.com/tags/runtime.exec/info。 –

回答

0

如果你想從另一個類調用java類/函數意味着,使它成爲jar,並將jar添加到你的項目構建路徑。在另一個類中創建Jared類的對象並調用該函數。 (請確保您的類和函數是公共接入)

0

可能是你忘了輸入的.jar

run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012"); 
1

嘗試添加缺少的的.jar

Runtime run=Runtime.getRuntime();    
run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012"); 

...和你必須消耗過程輸出...像這樣:

InputStream in = run.getInputStream(); 
InputStream err = run.getErrorStream(); 
0

Runtime.exec(...)方法返回java.lang.Process實例。 只需撥打其getInputStream()方法。

Process p = run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012"); 
InputStream is = p.getInputStream(); 
0

如果你只想輸出寫入一些文件,而無需修改它,你可以再補充:

> somefile.txt 

在「命令」的結尾:

run.exec("java -jar ManichemManagerRotas.jar BatchProcess 8 2012 > somefile.txt");