【问题标题】:Java Process Builder redirect output works in Eclipse, not as jarJava Process Builder 重定向输出在 Eclipse 中工作,而不是作为 jar
【发布时间】:2013-02-08 05:12:12
【问题描述】:

我正在使用流程构建器来启动新的主类。我做builder.inheritIO();,它在 Eclipse 中工作(stdout 和 stderr 重定向到单个控制台)。但是,当我导出 jar 时,输出不会重定向(仅显示原始进程输出)。我正在使用 Java 7。我应该看看哪些想​​法?

一些代码:

ProcessBuilder builder = new ProcessBuilder(arr);
//builder.redirectOutput();
//builder.redirectError();
//builder.redirectOutput(ProcessBuilder.Redirect.INHERIT);
// those don't work either
builder.inheritIO();
Process p = builder.start();

【问题讨论】:

    标签: java process stdout processbuilder


    【解决方案1】:

    好像是windows下java的bug。将在 java8 中修复。

    https://bugs.openjdk.java.net/browse/JDK-8023130.

    您可以使用旧方式并重定向流手册。

    ProcessBuilder builder = new ProcessBuilder("...");
    
    
    Process p = builder.start();
    
    p.getOutputStream();
    p.getInputStream();
    p.getInputStream();
    

    【讨论】:

      猜你喜欢
      • 2016-05-22
      • 2013-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多