getEngineByName("nashorn")返回null

Joh*_*ith 9 java java-8 nashorn

无法获得Nashorn引擎

ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
engine.eval("print('Hello World!');");
Run Code Online (Sandbox Code Playgroud)

engine 回报 null

我正在使用eclipse,jdk1.8.0_11

java -version

java版"1.8.0_20-ea"

Java(TM)SE运行时环境(版本1.8.0_20-ea-b23)

Joh*_*ith 17

当我将null param传递给ScriptEngineManager构造函数时,它正在工作:

ScriptEngine engine = new ScriptEngineManager(null).getEngineByName("nashorn");
engine.eval("print('Hello World!');");
Run Code Online (Sandbox Code Playgroud)

来自java docs

ScriptEngineManager(ClassLoader加载器)

如果loader为null,则加载与平台捆绑在一起的脚本引擎工厂,这些脚本引擎工厂位于通常的扩展目录(已安装的扩展)中.