javascript-如何直接初始化Nashorn上下文和引擎?

我正在尝试直接从jdk.nashorn.*名称空间初始化Oracle的javascript nashorn引擎.
(nashorn库是2013年1月的测试版).

有一个Web示例,使用javax.script.ScriptEngineManager实用程序类调用Nashorn引擎的引擎实例.

var engine = ScriptEngineManager.getEngineByName(*)

但是,我想远离ScriptEngineManager,所以我需要以Rhino可以直接调用的方式直接调用engine.

Context cx = Context.enter();
Scriptable scope = cx.initStandardObjects();

如何直接创建nashorn引擎实例?

解决方法:

按应用程序/ javascript Hashorn类型的javax脚本引擎,取回脚本引擎并告诉其执行操作,它还提供了可调用和可编译的接口.

您可能有兴趣阅读:How can I start coding with Oracle’s Nashorn JS Engine and when will it replace Rhino in the OpenJDK?

用法示例:

import javax.*; //lib imports
// we should use the javax.script API for Nahsorn
ScriptEngineManager m = new ScripteEngineManager(); 
ScriptEngine e = m.getEngineByname("nashorn");
try {
   e.eval("print('hello nashorn !')");
} catch(Exception e) {
  // using jdk lower then version 8 maybe ?
}
上一篇:javascript-通过JS中的函数引用对java对象的Nashorn调用方法(通过绑定)


下一篇:javascript-Java Nashorn存储功能