2

作成した 2 つの単純なプログラムを 1 つの .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

あなたの問題は、最初のファイルが例外をスローした場合にのみ、2 番目のファイルが実行されることです。あなたはこれを探しています:

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 に答える