ReferenceError: "alert" n'est pas défini

Je suis en train d'appeler une fonction javascript à partir du code java.

Voici mon code Java

    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();
    }
}

Voici mon fichier de script java:

(function() {
  alert("Hello World !!!");
})();

Mais lorsque j'exécute la méthode main de la classe du pilote il me donne l'erreur comme ci-dessous:

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)

Ce que je sais, c'est qu'ils ont besoin de certaines moteur de script à exécuter.

Pour que j'ai ajouté rhino.jar fichier dans mon chemin de classe.Mais ce n'est pas de travail.

J'ai un de ne pas obtenir de la manière de résoudre cette erreur.
S'il vous plaît aider.Merci à l'avance.

source d'informationauteur Sanjay Jain