首页 > 解决方案 > 从 Nashorn 到 Graaljs

问题描述

我想为我的 java 应用程序添加最新的 ECMAScript 支持。我目前使用带有 Nashorn 引擎的 Java 8。我怎么能切换到 Graaljs?

这是我应该翻译的代码:

import jdk.nashorn.api.scripting.NashornScriptEngineFactory;
private ScriptEngine engine;
engine = new NashornScriptEngineFactory().getScriptEngine("-scripting");
...
engine.setBindings(bindings, ScriptContext.GLOBAL_SCOPE);

标签: javascriptjavanashorngraalvm

解决方案


GraalVM 有一个为此目的的示例项目https://github.com/graalvm/graal-js-jdk11-maven-demo

通常建议使用GraalVM Polyglot API,但也与脚本引擎兼容。示例项目执行以下操作:

ScriptEngine graaljsEngine = new ScriptEngineManager().getEngineByName("graal.js");

推荐阅读