2

我正在尝试将我制作的 2 个简单程序合并到一个 .jar 中。我将两个 .jar 打包成一个新的,并使用 Runtime.getRuntime().exec 方法来执行它们。

代码:

public class main {
  public static void main(String[] args) {
    try {
      Runtime.getRuntime().exec("cmd /c proj1.jar");
    } catch(Exception exce){ 
      /*handle exception*/
      try {
        Runtime.getRuntime().exec("cmd /c proj2.jar");
      } catch(Exception exc){
        /*handle exception*/

      }
    }
  }
}

问题是只执行了 proj1.jar 而 proj2.jar 没有运行。我是java新手,不知道为什么会这样。我该如何解决?我希望两个文件都被执行。

4

1 回答 1

7

你的问题是你的第二个文件只有在第一个抛出异常时才会执行。你正在寻找这个:

public class main {
  public static void main(String[] args) {
    try {
      Runtime.getRuntime().exec("cmd /c proj1.jar");
      Runtime.getRuntime().exec("cmd /c proj2.jar");
    } catch(Exception exce){ 
      /*handle exception*/
    }
  }
}

或者,如果您绝对必须单独处理异常,则:

public class main {
  public static void main(String[] args) {
    try {
      Runtime.getRuntime().exec("cmd /c proj1.jar");
    } catch(Exception exce){ 
      /*handle exception*/
    }

    try {
      Runtime.getRuntime().exec("cmd /c proj2.jar");
    } catch (Exception e) {
      //handle the exception
    }
  }
}
于 2012-06-19T17:26:29.307 回答