我正在寻找一种方法来开始使用甲骨文的新Nashorn JavaScript引擎。我已经开发了最新的OpenJDK 8(b65),看来犀牛仍然是唯一包含的脚本引擎。
有人知道Nashorn什么时候(或者在哪个版本中)将在OpenJDK中取代Rhino吗?或者更好的是,在哪里我可以得到一个已经包含它的JDK?我知道Netbean已经编写了一个调试器来使用它,只是不确定他们从哪里得到的库/代码来开始编写它。
有人有链接吗?
谢谢
安装JDK8并为JDK的jjs(Nashorn解释器)创建别名,例如,如果您创建了一个名为test的文件。js,您可以通过以下方式运行程序:
$ jjs test.js
Mac OS=alias jjs='/Library/Java/JavaVirtualMachines/jdk1。8.0.jdk/Contents/Home/jre/bin/jjs'
Windows=定义一个名为JAVA8_HOME的环境变量,并指向您的jdk8文件夹,然后您可以通过运行以下命令来调用jjs:
> “%JAVA8_HOME%\jre\bin\jjs” test.js
我已经做了更多的挖掘工作,您可以使用位于此处的JDK7后端口让Nashorn使用JDK7:
https://bitbucket.org/ramonza/nashorn-backport
签出该存储库并尝试使用ant-f make/build构建它。xml
如BitBucket页面所述
如果由于dynalink导致构建失败,请应用问题部分中列出的补丁(我认为开发人员很快就会将其修补到主存储库中)。
建成后,你应该得到一个纳肖恩。jar文件位于克隆存储库的dist文件夹中。
现在,您需要使用类似于以下的VM选项将此jar添加到您的bootclasspath:
-Xbootclasspath/a:C:/nashorn backport/dist/nashorn。jar
现在你应该可以使用纳肖恩了。为了确保这是我编写的一个快速测试程序,它将列出可用的发动机工厂:
import javax.script.*;
public class NashornTest {
public static void main(String args[]) {
ScriptEngineManager manager = new ScriptEngineManager();
for (ScriptEngineFactory f : manager.getEngineFactories()) {
printBasicInfo(f);
System.out.println();
}
}
public static void printBasicInfo(ScriptEngineFactory factory) {
System.out.println("engine name=" + factory.getEngineName());
System.out.println("engine version=" + factory.getEngineVersion());
System.out.println("language name=" + factory.getLanguageName());
System.out.println("extensions=" + factory.getExtensions());
System.out.println("language version=" + factory.getLanguageVersion());
System.out.println("names=" + factory.getNames());
System.out.println("mime types=" + factory.getMimeTypes());
}
}
在bootclasspath集合中运行它会列出Rhino和Nashorn,如果没有它,你只会看到Rhino。
看起来OpenJDK上还没有纳肖恩的迹象。
吉姆·拉斯基(Jim Laskey)在2012年10月发表的最新评论显示,2012年第四季度:
https://blogs.oracle.com/nashorn/entry/welcome_to_the_nashorn_blog#comment-1351205506968
我想是时候戴上纳肖恩标签了!
2012年12月1日更新:
看起来2012年12月下旬OpenJDK可能https://blogs.oracle.com/nashorn/entry/request_for_project_nashorn_open
2013年3月10日更新:
@Seth认为1.7版本3预发行版不是Nashorn是正确的。我错了!
JDK 8 b68包括一个尚未合并的nashorn~jdk8分支。
此分支的README表示:
Nashorn回购协议正在迁移到OpenJDK,因此在几个领域是不完整的。构建系统没有完全集成。完成后,Nashorn将html" target="_blank">安装在JRE的适当位置。一旦集成,正确版本的JDK将围绕Nashorn展开。同时,确保使用JDK8 b68或更高版本。
如果您从源代码中签出nashorn~jdk8,则可以构建nashorn。罐子
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
或者和纳肖恩一起。jar在路径中:
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("nashorn");
更新Mar 19,2014:
更新自@ncasas;JDK 8出局了,Nashorn是默认的JS引擎。
问题内容: 我正在寻找一种开始使用Oracle新的Nashorn JavaScript引擎的方法。我用DL发行了最新的OpenJDK 8(b65),看来Rhino仍然是唯一包含的脚本引擎。 有人知道Nashorn何时(或在哪个版本中)将在OpenJDK中取代Rhino吗?甚至更好的是,在哪里可以得到JDK?我知道Netbeans已经编写了一个调试器来使用它,只是不确定它们从何处获得了开始编写它的库
我对webpack非常陌生,我发现在生产构建中我们可以减少整体代码的大小。目前,webpack构建了大约8MB的文件,main.js构建了大约5MB的文件。如何在生产构建中减少代码的大小?我从internet上找到了一个示例webpack配置文件,并为我的应用程序进行了配置,然后运行,它开始构建,它在目录中生成了一些文件。 null webpack.config.js webpack.produc
问题内容: 我是webpack的新手,我发现在生产版本中我们可以减少整体代码的大小。目前,webpack构建大约8MB的文件,而main.js构建大约5MB的文件。如何减少生产构建中的代码大小?我从互联网上找到了一个样本webpack配置文件,并为我的应用程序进行了配置,然后运行并开始构建它,并在目录中生成了一些文件。 这些文件仍然很重(与开发版本相同) 如何使用这些文件?目前,我正在使用webp
问题内容: 经常出现在Python模块中。即使阅读了Python的文档,我也不明白它的用途以及使用时间/方式。 有人可以举例说明吗? 关于我收到的基本用法的一些答案似乎是正确的。 但是,我需要了解有关工作原理的另一件事: 对我来说,最令人困惑的概念是当前的python版本如何包含未来版本的功能,以及如何使用当前版本的Python成功地编译使用未来版本的功能的程序。 我猜想当前版本包含了将来的潜在功
使用它来分析C或C++中的代码? 使用它来分析x86汇编程序中的代码?
问题内容: 有什么好的资源可以开始使用Node.JS?有没有好的教程,博客或书籍? 当然,我已经访问了它的官方网站http://nodejs.org/,但是我认为他们拥有的文档不是一个很好的起点。 问题答案: 讲解 NodeSchool.io交互式课程 节点的艺术(Node.js简介) 你好,世界 Node.js指南 使用Node.js,Express和MongoDB构建博客 适用于初学者的Nod