簡體   English   中英

從java程序運行jar文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM