Я пытаюсь инициализировать javacript-движок ядра javacript для Oracle от jdk.nashorn.*
пространства имен. (nashorn library - бета-версия 2013 года).Как инициализировать контекст и движок Nashorn напрямую?
Существует веб-образец, который вызывает машинный экземпляр двигателя Nashorn, используя служебный класс javax.script.ScriptEngineManager.
var engine = ScriptEngineManager.getEngineByName(*)
Однако, я хотел бы держаться подальше от ScriptEngineManager, так что мне нужно позвонить двигатель непосредственно таким же образом, Rhino может.
Context cx = Context.enter();
Scriptable scope = cx.initStandardObjects();
Как я могу создать экземпляр двигателя nashorn напрямую?
да, мы можем увидеть «NashornScriptEngine» в Javadoc, но выглядит, как вы можете получить только двигатель, запустив класс Eval с «> Java -cp nashorn.jar :. EvalFile .js –
theMarceloR
Спасибо для комментария. theMarceloR. Я пытаюсь использовать nashorn из .net. API ScriptEngineManager.getEngineByName ('nashorn') возвращает null в .NET. Это может быть проблема jvm и IKVM, поскольку nashorn использует новейший JVM API dynamicinvoke, который отличается от что .NET имеет. –
В Java, если «ScriptEngineManager.getEngineByName (« nashorn »)» возвращает null, nashorn.jar не находится в пути к классам. Не знаю, что вам нужно делать в .NET для решения этой проблемы. – theMarceloR