在另一个java进程的Windows控制台中运行java进程

问题描述:

我想从我的Java进程启动另一个Java进程。问题是我希望Windows控制台出现,另一个应用程序要写入该控制台。在另一个java进程的Windows控制台中运行java进程

此Java代码段确实启动了一个新进程,但控制台未显示。

ProcessBuilder pb = new ProcessBuilder("cmd", "/k", "java", "-jar", "AnotherApp.jar"); 
pb.start(); 

如果从我做起运行 - 运行

cmd /k java -jar AnotherApp.jar 

然后创建一个新的控制台和java进程启动。

尝试以下方法:

ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "start", "java", "-jar", "AnotherApp.jar"); 
+0

'java.io.IOException:无法运行程序“开始”:CreateProcess错误= 2,系统找不到指定的文件 位于java.lang.ProcessBuilder.start(未知源)' –

+0

更新了答案,试试这个版本,请。 – tcb

另一种选择。

String cmd[]={"cmd", "/c", "start", "java", "-jar", "AnotherApp.jar"}; 

Runtime rt=Runtime.getRuntime(); 

Process p=rt.exec(cmd); 

你可以得到p的输出流(这将作为输入流读取给你)并打印到任何控制台。