Zum Beispiel habe ich Version 21 installiert und soweit ich weiß, kann ich die Nashorn-Engine nicht mehr verwenden.
Aber vielleicht ist GraalVM für mich verfügbar?
Ich habe alle notwendigen Abhängigkeiten installiert:
org.graalvm.js
js
21.1.0
org.graalvm.js
js-scriptengine
21.1.0
Und hier ist ein einfaches Beispiel, das ich ausführen möchte:
public static void main(String[] args) throws ScriptException {
try (Context context = Context.newBuilder("js")
.allowAllAccess(true)
.build()) {
// Evaluate JavaScript code
String jsCode = "console.log('Hello, GraalVM!');";
context.eval("js", jsCode);
} catch (Exception e) {
throw new ScriptException("Script execution failed: " + e.getMessage());
}
}
Ich erhalte jedoch eine Fehlermeldung:
Ausnahme im Thread „main“ javax.script.ScriptException: ScriptAusführung fehlgeschlagen: Eine Sprache mit der ID „js“ ist nicht installiert. Installierte
Sprachen sind: []. unter org.example.Main.main(Main.java:23)
Ich habe auch so etwas versucht:
public static void main(String[] args) throws ScriptException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
engine.eval("print('HI');");
}
Aber ich habe einen weiteren Fehler erhalten:
Ausnahme im Thread „main“ java.lang.NullPointerException: Cannot
rufen Sie „javax.script.ScriptEngine.eval(String)“ auf, da „engine“ bei org.example.Main.main(Main.java:20)
null ist
Das Problem besteht darin, dass die manuelle Installation von Komponenten aus irgendeinem Grund nicht möglich ist. Ich muss nur einige Abhängigkeiten herstellen und dafür sorgen, dass alles funktioniert. Etwas „out of the box“. Gibt es eine Lösung für dieses Problem? Vielleicht sind noch andere Motoren verfügbar?
Vielen Dank an alle.
Gibt es eine Möglichkeit, einfache JavaScript-Ausdrücke in Java 21 ohne manuelle Installationen auszuführen? ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Gibt es eine einfache Möglichkeit, eine relationale HTML -Auswahl zu treffen?
by Anonymous » » in HTML - 0 Replies
- 1 Views
-
Last post by Anonymous
-