[英]Run a jar File from java program
我試圖從另一個Java程序執行jar文件。 我使用以下代碼:
try {
Runtime runtime = Runtime.getRuntime();
runtime.exec("path upto jar");
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Exception occured" + ex);
}
但它不起作用。 我試過谷歌,它給了我使用ProcessBuilder的例子,但這也沒有用。
使用ProcessBuilder(java.lang.ProcessBuilder)將解決您的問題。 語法如下 -
ProcessBuilder pb = new ProcessBuilder("java", "-jar", "absolute path upto jar");
Process p = pb.start();
您可以按如下方式將輸入/輸出/錯誤重定向到文件/從文件重定向
File commands = new File("absolute path to inputs file");
File dirOut = new File("absolute path to outputs file");
File dirErr = new File("absolute path to error file");
dirProcess.redirectInput(commands);
dirProcess.redirectOutput(dirOut);
dirProcess.redirectError(dirErr);
第一個建議/建議是使用ProcessBuilder而不是Runtime。 您可以嘗試以下方法:
ProcessBuilder pb = new ProcessBuilder("java", "-jar", "./jarpath/yourjar.jar");
Process p = pb.start();
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String s = "";
while((s = in.readLine()) != null){
System.out.println(s);
}
int status = p.waitFor();
System.out.println("Exited with status: " + status);
您只需使用這一行代碼就可以從任何地方運行jar文件。
Desktop.getDesktop().open(new File("D:/FormsDesktop.jar"));
哪里
new File("your path to jar")
希望能幫助到你。
謝謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.