我正在尝试从Java进程启动另一个Java进程。问题是我希望Windows控制台出现,而AnotherApp要写入该控制台。
此Java代码段确实启动了一个新流程,但未显示控制台。
ProcessBuilder pb = new ProcessBuilder("cmd", "/k", "java", "-jar", "AnotherApp.jar");
pb.start();
如果我从开始 - 运行
运行cmd /k java -jar AnotherApp.jar
然后创建一个新的控制台并启动java进程。
答案 0 :(得分:6)
尝试以下方法:
ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "start", "java", "-jar", "AnotherApp.jar");
答案 1 :(得分:1)
另一种选择。
String cmd[]={"cmd", "/c", "start", "java", "-jar", "AnotherApp.jar"};
Runtime rt=Runtime.getRuntime();
Process p=rt.exec(cmd);
你可以获得p的输出流(将作为输入流提供给你)并将其打印到任何控制台。