ReferenceError: "alert" ist nicht definiert
Ich versuche, eine Java-Skriptfunktion aus Java-Code aufzurufen.
Hier ist mein Java-Code
public static void main(String[] args) throws FileNotFoundException {
try {
/**
* To call a anonymous function from java script file
*/
ScriptEngine engine = new ScriptEngineManager()
.getEngineByName("javascript");
FileReader fr = new FileReader("src/js/MySpec.js");
engine.eval(fr);
} catch (ScriptException scrEx) {
scrEx.printStackTrace();
}
}
Hier ist meine Java-Skriptdatei:
(function() {
alert("Hello World !!!");
})();
Wenn ich jedoch die Hauptmethode der Treiberklasse ausführe, wird der folgende Fehler angezeigt:
Exception in thread "main" javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "alert" is not defined. (<Unknown source>#2) in <Unknown source> at line number 2
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:110)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:232)
at Java6RhinoRunner.load(Java6RhinoRunner.java:42)
at Java6RhinoRunner.main(Java6RhinoRunner.java:12)
Was ich weiß ist, dass es einige Skript-Engine benötigt, um es auszuführen.
Dafür habe ich die Datei rhino.jar zu meinem Klassenpfad hinzugefügt. Dies funktioniert jedoch nicht.
Ich weiß nicht, wie ich diesen Fehler beheben soll. Bitte um Hilfe. Danke im Voraus.