这个问题以前曾被问过,但没有真正的答案。
我不想从另一个 Java 程序启动 Java 程序。 就我而言,我不想在克隆仍处于打开状态时启动相同的程序(2),然后退出原始程序(1)。
不幸的是我无法让它与 ProcessBuilder 一起使用
ProcessBuilder processBuilder = new ProcessBuilder("java","Programm");
Process process = processBuilder.start();
没有错误消息,没有任何反应。
我也无法在 Windows 中通过 CMD 运行该程序。
javac
在编译过程中显示几个错误:
symbol not found, ...
我可以从Eclipse正常启动程序。
最佳答案
您可能没有看到 Process
中的错误,因为它们被发送到自己的错误流。您可以使用process.getErrorStream()
访问错误流。
我怀疑问题在于您的类路径在调用 java
可执行文件时未正确设置,并且无法找到您的类或其依赖项,但如果没有看到错误,则很难判断.
关于java - 从 Java 程序启动外部 Java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9312488/