Ich versuche eine Funktion in JavaScript über Java aufzurufen. Dies funktioniert gut, wenn Sie ein Skript direkt als String lesen, aber ich verwende CompiledScripts.javax script wie man eine Funktion in JavaScript aus Java ruft
Wenn ich dies mit einem kompilierten Skript mache, gibt es mir Methode nicht gefunden, wenn ich auch Bindungen hinzufüge. Ohne Bindungen funktioniert es, aber natürlich scheitert die Funktion, weil sie die Bindungen benötigt.
Irgendwelche Ideen?
CompiledScript script = ... get script....
Bindings bindings = script.getEngine().createBindings();
Logger scriptLogger = LogManager.getLogger("TEST_SCRIPT");
bindings.put("log", scriptLogger);
//script.eval(bindings); -- this way fails
script.eval(); // -- this way works
Invocable invocable = (Invocable) script.getEngine();
invocable.invokeFunction(methodName);
TIA