我有一个调用可执行 jar 的 java 应用程序(主体):
Process p = Runtime.getRuntime().exec(java -jar C:\\PFC\\maestro.jar)
p.waitFor();
maestro.jar 是一个 Java 应用程序,它创建 2 个线程,并调用另一个可执行 jar(进程变量为“b”)。然后我像这样等待他们:
b.destroy(); //kill other executable jar that is called
manejadora.join(); //thread finished
controlador.join(); //thread finished
System.out.println("all finished");
maestro.jar 运行正确,当我运行它时它在 Eclipse 上显示“终止”,所以没有问题。
当主体尝试运行 maestro.jar 时,它会正确运行,但是当 maestro.jar 已经完成时,主体会继续在“p.waitFor()”上等待 maestro.jar。
我不明白为什么。
你能给我一些关于这个的方向吗?非常感谢!