我使用以下代码来重定向我从 Java 应用程序启动的进程的输出:
ProcessBuilder builder = new ProcessBuilder("MyProcess.exe");
builder.redirectOutput(Redirect.INHERIT);
builder.redirectErrorStream(true);
现在,当我从 Eclipse 运行代码时,这可以正常工作 - 我可以在 Eclipse 的控制台中看到输出。
然而,当我创建一个 jar 文件并从 cmd 窗口运行它时,例如java -jar MyJar.jar
,它不会打印进程的输出。这可能是什么原因?