java - 如何开始使用 Oracle 的 Nashorn JS 引擎进行编码,它何时会取代 OpenJDK 中的 Rhino?

标签 java rhino openjdk nashorn

我正在寻找一种方法来开始使用 Oracle 的新 Nashorn JavaScript 引擎。我已经对最新的 OpenJDK 8 (b65) 进行了深度学习,看来 Rhino 仍然是唯一包含的脚本引擎。

有人知道 Nashorn 何时(或在哪个版本中)将取代 OpenJDK 中的 Rhino?或者更好的是,我在哪里可以获得已经包含它的 JDK?我知道 Netbeans 已经编写了一个调试器来使用它,只是不确定他们从哪里得到库/代码来开始编写它。

谁有链接?

谢谢。

最佳答案

OpenJDK 上似乎还没有 Nashorn 的迹象。

Jim Laskey 在 2012 年 10 月的最新评论表明 2012 年第四季度:

https://blogs.oracle.com/nashorn/entry/welcome_to_the_nashorn_blog#comment-1351205506968

我认为是时候使用 标记SO!

2012 年 12 月 1 日更新:

看起来像 2012 年 12 月下旬 OpenJDK 可能有它 https://blogs.oracle.com/nashorn/entry/request_for_project_nashorn_open

2013 年 3 月 10 日更新:

@Seth 是正确的,1.7 release 3 PRERELEASE 不是 Nashorn。我的错!

JDK 8 b68包括一个尚未合并的 nashorn~jdk8分支。

这个分支的自述文件说:

The Nashorn repo is in the process of being migrated to OpenJDK and as such is incomplete in several areas. The build system is not fully integrated. When complete, Nashorn will be installed in its proper location in the JRE. Once integrated, the correct version of the JDK will be wrapped around Nashorn. In the meantime, ensure you use JDK8 b68 or later.

如果您从源代码 checkout nashorn~jdk8,您可以构建 nashorn.jar

cd nashorn~jdk8/nashorn/make
ant clean; ant

您可以在最近的 jdk 1.8 版本中从 javax.script.ScriptEngineManager 请求“nashorn”引擎:

jrunscript -cp ./nashorn.jar -l "nashorn" -e "println(engine.factory.getParameter(
    javax.script.ScriptEngine.ENGINE))"
> Oracle Nashorn

或在路径中使用 nashorn.jar:

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("nashorn");

2014 年 3 月 19 日更新:

来自@ncasas 的更新; JDK 8 is out而 Nashorn 是默认的 JS 引擎。

关于java - 如何开始使用 Oracle 的 Nashorn JS 引擎进行编码,它何时会取代 OpenJDK 中的 Rhino?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13427793/

相关文章:

java - 如何将 Rhino-JavaScript 数组转换为 Java 数组

java - 解释 jstack 输出

java - 可能是 Java 编译器错误!程序不能用某些编译器编译

java - 将数据发送回 java 类?

java - Apache POI 无法替换空白 Excel 单元格

java - 稍后如何使用另一个 .jar 或 .java 扩展我的 jar

java - jackson 抛出 JsonMappingException 无法构造实例

java - Rhino 报告丢失 : after property id

java - Rhino:如何从 JavaScript 调用的 Java 方法返回一个整数?

java - 由于新的文件夹结构,在 Linux 上的 Intellij IDEA 中正确设置 Java 9 作为 SDK