Вывод перенаправления Java Process Builder работает в Eclipse, а не как jar

Я использую построитель процессов для запуска новых основных классов. Я делаю builder.inheritIO();, и он работает в Eclipse (stdout и stderr перенаправляют на единую консоль). Однако, когда я экспортирую банку, вывод не перенаправляется (показывается только исходный вывод процесса). Я на 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();

person Raekye    schedule 08.02.2013    source источник


Ответы (1)


Кажется, это ошибка в java под окнами. Будет исправлено в java8.

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

Вы можете использовать старый способ и вручную перенаправить потоки.

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


Process p = builder.start();

p.getOutputStream();
p.getInputStream();
p.getInputStream();
person thewall13    schedule 03.01.2014