【发布时间】:2016-03-04 18:55:44
【问题描述】:
我正在尝试直接从 jdk.nashorn.* 命名空间初始化 Oracle 的 javascript nashorn 引擎。
(nashorn 库是 2013 Jan 的测试版)。
有一个 web 示例调用引擎的 Nashorn 引擎实例,使用 javax.script.ScriptEngineManager 实用程序类。
var engine = ScriptEngineManager.getEngineByName(*)
但是,我喜欢远离 ScriptEngineManager,所以我需要像 Rhino 一样直接调用引擎。
Context cx = Context.enter();
Scriptable scope = cx.initStandardObjects();
如何直接创建 nashorn 引擎实例?
【问题讨论】:
-
是的,我们可以在 javadoc 中看到“NashornScriptEngine”,但看起来您只能通过使用 ">java -cp nashorn.jar:.EvalFile
运行 Eval 类来获取引擎。 js -
感谢您的评论。马塞洛我正在尝试使用 .net 中的 nashorn。 API ScriptEngineManager.getEngineByName('nashorn') 在 .NET 中返回 null。这可能是 jvm 和 IKVM 的问题,因为 nashorn 使用了与 .NET 不同的最新 JVM API dynamicinvoke。
-
在 Java 中,如果 "ScriptEngineManager.getEngineByName('nashorn')" 返回 null,则 nashorn.jar 不在类路径中。不知道你需要在 .NET 中做什么来解决这个问题。
标签: javascript nashorn