通过标准JDK 11使用graalvm

Val*_*mak 4 java nashorn graalvm java-11

我的项目使用了Nashorn Javascript引擎。我正在尝试迁移到java11,也从Nashorn迁移到Graal。我在这里阅读可以从JDK 11开始通过标准JDK安装来使用graal。此外,我还阅读了Graal-SDK已上传到Maven Central的信息,并且具有Java标记polyglot.js.nashorn-compat以方便迁移。因此,我使用了jdk11,将maven依赖项添加到pom.xml中,并使用了Java标志,但是当我尝试通过名称“ graal.js”获取引擎时,此处为null:

ScriptEngine engine = engineManager.getEngineByName("graal.js")
Run Code Online (Sandbox Code Playgroud)

我想念的是什么?如何使其运作?

Bor*_*riS 5

这是一个示例maven项目,展示了如何通过脚本API和polyglot API在JDK11上运行GraalVM JavaScript引擎。希望能帮助到你!

https://github.com/graalvm/graal-js-jdk11-maven-demo

它的要点是添加必要的依赖(格拉尔-SDK,JS,JS-的ScriptEngine,以及可选探查和chromeinspector),运行启用实验场所和JVMCI编译器(-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI)和升级格拉尔罐子模块路径(--upgrade-module-path=${compiler.dir}/compiler.jar)也可以从maven(org.graalvm.compiler:compiler)获得。