3
ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");

引擎为空???我也尝试遍历 scriptEnginefactories 它为零...

我的类路径上有 js-1.7R1.jar ......谁能告诉我我还需要做什么来注册 javascript 引擎(我发现 Rhino 是 js-1.7r.jar)

谢谢。

4

3 回答 3

1

Eclipse 使用自己的编译器,但使用系统的 JRE…… ” - Bart Kiers

确保 JRE 为 1.6 或更高版本。根据评论,Jeryl Cook 将 eclipse 设置为 JRE 1.5。他从 Eclipse 中删除了这个并添加了 JRE 1.6,它可以工作并解决他的问题。

于 2014-07-07T01:02:20.600 回答
1

我在 JDK 11 上遇到了同样的问题。使用 JDK 8 解决了这个问题。

于 2019-11-19T12:35:12.563 回答
-1

确保你有

sun.org.mozilla.javascript.internal,com.sun.script.javascript;

类路径中的包。
您尝试运行的是 Java SE(Java Scripting Api)中 Rhino 的 fork 版本。看起来你的 Java 没有它(检查上面的包)。我相信 js-1.7R1.jar 是来自 mozilla 的原始 Rhino 实现 - 您可以尝试直接运行它link,而不是通过 Java Scripting API。

于 2012-10-07T00:56:33.330 回答