Пытается перенаправить движок сценариев Nashorn из класса Java. Вот как я его инициализирую прямо сейчас. Я хотел бы перенаправить любой вывод из сценариев, которые запускает двигатель.Redirect Nashorn stdout и stderror
String[] nashornArgs = new String[] {"-strict", "--no-java",
"--no-syntax-extensions", "-dump-on-error"};
NashornScriptEngineFactory factory = new NashornScriptEngineFactory();
ScriptEngine engine = factory.getScriptEngine(nashornArgs);
Я знаю Nashorn имеет следующие аргументы (ниже), но я не уверен, как инициализировать правильно и в манере, где любой выход отбрасывается программой. Возможно, создайте временный файл, а затем удалите временный файл после завершения работы? Кажется грязным для меня.
--stderr (Перенаправление STDERR к имени файла или другого TTY, например стандартный вывод)
парам: выход консоли
--stdout (Перенаправление STDOUT на имя файла или другого TTY, например STDERR)
пар: выход консоль
Я попытался это однако не работал. Был способен печатать из сценария. Нужно ли мне переустанавливать контекст двигателя? – MarkII
Не могли бы вы предоставить образец кода? –
@MarkII Я отредактировал свой ответ, предоставив полный пример кода, который демонстрирует перенаправление stdout/stderr для Nashorn. –