這裏一個小片段列出所有引擎都支持
public class Script {
public static void main(String[] args) throws ScriptException {
new ScriptEngineManager().getEngineByName("js")
.eval("print('Hello from Java\\n');");
for (ScriptEngineFactory se : new ScriptEngineManager().getEngineFactories()) {
System.out.println("se = " + se.getEngineName());
System.out.println("se = " + se.getEngineVersion());
System.out.println("se = " + se.getLanguageName());
System.out.println("se = " + se.getLanguageVersion());
System.out.println("se = " + se.getNames());
}
}
}
的Java 6(1.6.0_43)
Hello from Java
se = Mozilla Rhino
se = 1.6 release 2
se = ECMAScript
se = 1.6
se = [js, rhino, JavaScript, javascript, ECMAScript, ecmascript]
的Java 7(1.7.0_40)
Hello from Java
se = Mozilla Rhino
se = 1.7 release 3 PRERELEASE
se = ECMAScript
se = 1.8
se = [js, rhino, JavaScript, javascript, ECMAScript, ecmascript]
的Java 8 (1.8.0_74)
Hello from Java
se = Oracle Nashorn
se = 1.8.0_74
se = ECMAScript
se = ECMA - 262 Edition 5.1
se = [nashorn, Nashorn, js, JS, JavaScript, javascript, ECMAScript, ecmascript]
你使用哪個JRE來執行你的程序? – Berger
@Berger,我正在使用附帶JRE的JDK 1.6.0_25版本。 – Ksenia
你也可以列出所有引擎,或按類型獲取引擎:js。 –