【发布时间】:2012-04-20 16:58:13
【问题描述】:
当我运行以下代码时,当我使用 OpenJDK 7 (java-7-openjdk-i386) 时,engine 变量设置为 null。
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class TestRhino {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
try {
System.out.println(engine.eval("1+1"));
} catch (ScriptException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
它与java-6-openjdk 和Oracle 的jre1.7.0 一起运行良好。知道为什么吗?
我使用的是 Ubuntu 11.10。所有的JVM都安装在/usr/lib/jvm下。
【问题讨论】:
-
另见Javascript engine can not be found; JDK 提供者可以选择要打包的脚本引擎(如果有的话)。
-
有趣,jdk 7 在 debian 上对我有同样的问题。 jdk6的jrunsript运行javascript引擎,jdk 7 jrunsript打印“engine for language js cannot be found”。
-
注意:您不能确定给定的脚本引擎是否可用。如果您真的需要它,请自己携带。
-
在 OSX 上有同样的问题,如果有人能回答 如何 提供我自己的服务,我会投赞成票。我试过只在类路径上放 rhino jar,但它不工作
标签: java javascript rhino openjdk javax.script