【问题标题】:Where is the Rhino javascript JSR-223-wrapper for use in JDK8?用于 JDK8 的 Rhino javascript JSR-223-wrapper 在哪里?
【发布时间】:2019-05-23 09:11:46
【问题描述】:

我的目的是在 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。

【问题讨论】:

  • 您考虑过 Nashorn 吗?它几乎取代了 Rhino,甚至可能包含在 openjdk8 中。我认为它正在从 java >11 中删除。
  • 是的,我有。 HTML5 浏览器需要 Nashorn,它们都是 JavaFX 的一部分。这就是为什么 OpenJDK8 也没有,因为 JavaFX 不是 JVM 规范的一部分。(afaik)Java7 有 Rhino,Java8 有 Nashorn,OpenJDK8 两者都没有:-|
  • 我只是从采用 open jdk 下载 jdk8,它带有 nashorn。对我来说很好。
  • 即使是开箱即用的 java 11,虽然 jdk 中没有 nashorn.jar。
  • 谢谢。这对我来说是非常出乎意料的!但好消息:)

标签: java rhino jsr223 adoptopenjdk


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

    感谢 cmets。那是好消息, 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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-22
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多