Я выполняю kotlin сценарии, используя javax.script API. Я хочу захватить вывод и напечатать журналы позже.
Я могу сделать это для механизма сценариев nashorn, но то же самое не работает на KotlinScriptEngine.
public void testExampleNashorn() throws ScriptException {
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
ScriptContext context = engine.getContext();
StringWriter writer = new StringWriter();
context.setWriter(writer);
engine.eval("print(\"Welocme to java worldddd\")");
String output = writer.toString();
System.out.println("Script output: " + output);
}
Вывод для Nashorn
Script output: Welocme to java worldddd
Тот же фрагмент кода при настройке на kotlin, как показано ниже
public void testExampleKotlin() throws ScriptException {
ScriptEngine engine = new ScriptEngineManager().getEngineByName("kotlin");
ScriptContext context = engine.getContext();
StringWriter writer = new StringWriter();
context.setWriter(writer);
engine.eval("println(\"Welocme to java worldddd\")");
String output = writer.toString();
System.out.println("Script output: " + output);
}
Выход для kotlin
Welocme to java worldddd
Script output:
null
Я использую kotlin версия 1.3.72 Любая помощь высоко ценится. Спасибо.