ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
引擎为空???此外,我尝试迭代scriptEnginefactories它是零...
我的类路径上有js-1.7R1.jar ...任何人都可以告诉我我需要做什么来注册javascript引擎(我发现Rhino是js-1.7r.jar)
感谢。
答案 0 :(得分:1)
" Eclipse使用自己的编译器,但使用系统的JRE ... " - 巴特基尔斯
确保JRE为1.6或更高。根据评论,Jeryl Cook将日食设定为JRE 1.5。他从日食中删除了这个,并添加了JRE 1.6,它解决了他的问题。
答案 1 :(得分:0)
我在使用JDK 11时遇到了同样的问题。使用JDK 8解决了它。
答案 2 :(得分:-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。