我正在尝试将我制作的2个简单程序合并到一个.jar中。我将两个.jars打包成一个新的并使用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新手,不知道为什么会这样。我该如何解决?我想要两个文件都被执行。
答案 0 :(得分:6)
你的问题是,如果第一个文件抛出一个exeception,你的第二个文件才会被执行。你正在寻找这个:
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
}
}
}