问题描述
从 Java 16 中删除了 Nashorn JavaScript 引擎。我正在运行 Java 应用程序(minecraft 服务器),它使用使用 Nashorn 引擎运行 JavaScript 片段的插件。我最近将我的服务器更新到 Java 16,现在这个插件无法加载。
插件 (https://github.com/TabooLib/TabooLib) 使用例如 import jdk.nashorn.api.scripting.NashornScriptEngineFactory;
等...
我可以安装任何替代品来让这个插件再次工作吗?还是需要让开发者在repository中处理?
我正在阅读有关 GraalVM 的信息,但我不确定它是否可以用作拖放替换,而且我目前还无法从 OpenJDK 切换...
解决方法
现在有一个独立的 Nashorn 发行版; version 15.2 允许您使用 JDK 11 及更高版本运行。有关 JDK 15 及更高版本上的 Nashorn 的更多讨论,请参阅答案 https://stackoverflow.com/a/66190018/252858 和 https://stackoverflow.com/a/65983899/252858,有关在 JDK 11-14 上使用 15.2 会发生什么情况的信息,请参阅https://github.com/szegedi/nashorn/wiki/Using-Nashorn-with-different-Java-versions。