我有一个项目使用 Nashorn Javascript 引擎。我正在尝试迁移到 java11 并从 Nashorn 迁移到 Graal。我读了here我可以通过从 JDK 11 开始的标准 JDK 安装来使用 graal。此外,我还读到 Graal-SDK 已上传到 Maven 中心,并且有 Java 标志polyglot.js.nashorn-compat
以便轻松迁移。所以我使用了jdk11,将maven依赖项添加到pom.xml并使用了java标志,但是当我尝试通过名称“graal.js”获取引擎时,我在这里得到了null:
ScriptEngine engine = engineManager.getEngineByName("graal.js")
我缺少什么?如何让它发挥作用?
以下是一个示例 Maven 项目,展示了如何通过脚本 API 和多语言 API 在 JDK11 上运行 GraalVM JavaScript 引擎。希望能帮助到你!
https://github.com/graalvm/graal-js-jdk11-maven-demo
其要点是添加必要的依赖项(graal-sdk、js、js-scriptengine 以及可选的探查器和 chromeinspector),使用启用的实验选项和 JVMCI 编译器运行(-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
)并使用 graal jar 升级模块路径(--upgrade-module-path=${compiler.dir}/compiler.jar
)也可以从 Maven 获得(org.graalvm.compiler:compiler
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)