Java Process Builder重定向输出在Eclipse中工作,而不是在jar中工作

Java Process Builder重定向输出在Eclipse中工作,而不是在jar中工作,java,process,stdout,processbuilder,Java,Process,Stdout,Processbuilder,我正在使用process builder启动新的主类。我做builder.inheritaio()并且它在Eclipse中工作(stdout和stderr重定向到单个控制台)。但是,当我导出jar时,输出不会重定向(只显示原始进程输出)。我用的是Java 7。你知道我应该去哪里看吗 一些代码: ProcessBuilder builder = new ProcessBuilder(arr); //builder.redirectOutput(); //builder.redirectError(

我正在使用process builder启动新的主类。我做
builder.inheritaio()并且它在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();

这似乎是windows下java中的一个bug。将在java8中修复

您可以使用旧方法重定向streams手册

ProcessBuilder builder = new ProcessBuilder("...");


Process p = builder.start();

p.getOutputStream();
p.getInputStream();
p.getInputStream();