getEngineByName(" nashorn")返回null [英] getEngineByName("nashorn") returns null

查看:532
本文介绍了getEngineByName(" nashorn")返回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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆