getEngineByName(" nashorn")返回null [英] getEngineByName("nashorn") returns null
问题描述
无法获得Nashorn引擎
Cant get Nashorn engine
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
engine.eval("print('Hello World!');");
engine
返回 null
我使用的是eclipse,jdk1.8.0_11
I am using eclipse, jdk1.8.0_11
java -version
java版1.8.0_20-ea
java version "1.8.0_20-ea"
Java(TM)SE运行时环境(版本1.8.0_20-ea-b23)
Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b23)
推荐答案
当我传递null时它正在工作param into ScriptEngineManager构造函数:
Its working when I pass null param into ScriptEngineManager constructor:
ScriptEngine engine = new ScriptEngineManager(null).getEngineByName("nashorn");
engine.eval("print('Hello World!');");
来自java docs
from java docs
ScriptEngineManager(ClassLoader) loader)
ScriptEngineManager(ClassLoader loader)
如果loader为null,则会加载与平台捆绑在一起且在通常的扩展目录(已安装的扩展名)中的脚本引擎工厂。
If loader is null, the script engine factories that are bundled with the platform and that are in the usual extension directories (installed extensions) are loaded.
这篇关于getEngineByName(" nashorn")返回null的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!