2

我的目的是在 AdaptOpenJDK 8 VM 中提供一个 JSR-223 javascript 引擎。

所以我想用已经熟悉的Rhino。

OpenJDK wiki 文档在这里
https://wiki.openjdk.java.net/display/Nashorn/Using+Rhino+JSR-223+engine+with+JDK8

它指定下载 Mozilla Rhino 的位置。这里:
https ://github.com/mozilla/rhino

并指定在那里下载 jsr-223 脚本引擎包装器。这里:
https
://java.net/projects/Scripting 但是这个链接已经失效了。

我在哪里可以找到 Rhino 的 JSR-223 包装器?
或者也许有更好的替代方案,如 JSR-223 javascript-engine。

4

2 回答 2

1

我遇到了完全相同的问题,实际上找到了丢失的https://java.net/projects/Scripting项目。

这是一个 GitHub 镜像:https ://github.com/scijava/javax-scripting 。评论说这是该回购的最终状态,不确定这是否属实。

该回购也有一些克隆。我发现一个特别有用的,因为它具有 JDK8 兼容的 Rhino JSR223 实现:https ://github.com/zeroboo/java-scripting-rhino-jdk8 。

如果您需要提供与 Rhino 的向后兼容性,上述方法非常方便,但对于新项目,我宁愿使用 GrallVM 或 Nashorn(注意:已弃用)。JSR223 绑定可用于开箱即用:graal.jsnashorn

于 2019-11-18T15:40:48.943 回答
0

感谢您的评论。这是个好消息,AdoptOpenJDK 8 带有“Oracle Nashorn”!:)

c:/> Java -version
openjdk version "1.8.0_192"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_192-b12)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.192-b12, mixed mode

我的测试应用程序显示了可用 JSR-223 引擎的列表: 可用脚本引擎:

-------------------------------------------
Language: ECMAScript
Engine:   Oracle Nashorn
Names:    nashorn,Nashorn,js,JS,JavaScript,javascript,ECMAScript,ecmascript
-------------------------------------------

实例化它我看到:

Name: Oracle Nashorn (version: 1.8.0_192)
于 2019-05-23T11:17:39.830 回答