当前位置: 首页 > 面试题库 >

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

娄嘉石
2023-03-14
问题内容

我正在寻找一种开始使用Oracle新的Nashorn JavaScript引擎的方法。我用DL发行了最新的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

我认为现在是在nashorn标签上加油的时候了!

2012年12月1日更新:

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

2013年3月10日更新:

@Seth正确的是 1.7版本3 PRERELEASE 不是Nashorn。我的错!

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

该分支的自述文件说:

Nashorn存储库正在迁移到OpenJDK的过程中,因此在某些领域还不完整。构建系统未完全集成。完成后,Nashorn将安装在JRE中的正确位置。集成后,将在Nashorn周围包装正确版本的JDK。同时,请确保使用JDK8
b68或更高版本。

如果您从源代码中签 出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已发布,Nashorn是默认的JS引擎。



 类似资料:
  • 我正在寻找一种方法来开始使用甲骨文的新Nashorn JavaScript引擎。我已经开发了最新的OpenJDK 8(b65),看来犀牛仍然是唯一包含的脚本引擎。 有人知道Nashorn什么时候(或者在哪个版本中)将在OpenJDK中取代Rhino吗?或者更好的是,在哪里我可以得到一个已经包含它的JDK?我知道Netbean已经编写了一个调试器来使用它,只是不确定他们从哪里得到的库/代码来开始编写

  • 问题内容: 我有一个80%分类变量的机器学习分类问题。如果要使用一些分类器进行分类,是否必须使用一种热编码?我可以在没有编码的情况下将数据传递给分类器吗? 我正在尝试进行以下功能选择: 我读了火车文件: 我将类别特征的类型更改为“类别”: 我使用一种热编码: 问题是,尽管我使用的是坚固的机器,但第3部分经常卡住。 因此,没有一种热编码,我就无法进行任何特征选择来确定特征的重要性。 你有什么建议吗?

  • 问题内容: node.js是否具有内置的base64编码? 我之所以这样问,是因为from 只能输出十六进制,二进制或ascii数据。例如: 根据文档,可以输出base64编码的数据。但是,不支持base64。我尝试过,它会破裂。 如果我这样做: 那我应该用什么解密呢?十六进制还是base64? 因此,我正在寻找一个函数来对加密的十六进制输出进行base64编码。 问题答案: 缓冲区可用于获取字符

  • 我有一个80%分类变量的机器学习分类问题。如果我想使用一些分类器进行分类,我必须使用一个热编码吗?我可以不编码地将数据传递给分类器吗? 我试图做以下功能选择: > 我读了火车文件: 我将分类特征的类型更改为“类别”: 我使用一个热编码: 问题是,第三部分经常卡住,尽管我使用的是一个强大的机器。 因此,没有一个热编码,我无法进行任何特征选择,以确定特征的重要性。 你推荐什么?

  • 问题内容: 对于使用g ++和gdb的入门,是否有很好的“使用方法”或“入门”指南? 一些背景。体面的程序员,但到目前为止,我已经在Windows中的Visual Studio中完成了所有工作。 我对使用终端来编译文件有一点经验(除了.h和1或2 .cpp以外)。但是除此之外。 任何人都知道如何开始在Linux上编码的好入门? 问题答案: 阅读一些好书,特别是Advanced Linux Prog

  • 需求: 后端会返回一个各种内容组合的数据到前端。前端需要根据对应的名称生成各种展示样式 例: 上面有三个简单的示例(/业务场景比这个多): name: 需要直接输出即可, address: 需要按某种格式输出, capital: 需要每个投资人一行. 其中capital.name要增加连接 现代码: printChangeItem方法负责将英文键换成中文. printAdapterExpr方法根据