Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在OSX 10.6雪豹上最好地安装Rhino_Java_Javascript_Macos_Osx Snow Leopard_Rhino - Fatal编程技术网

Java 如何在OSX 10.6雪豹上最好地安装Rhino

Java 如何在OSX 10.6雪豹上最好地安装Rhino,java,javascript,macos,osx-snow-leopard,rhino,Java,Javascript,Macos,Osx Snow Leopard,Rhino,我正在运行OSX 10.6 Snow Leopard,已下载rhino1_7R2并将其移动到/usr/local/ 然而,我知道(虽然这将防止它被操作系统更新所改变),这可能不是它的最佳位置,并且设想它可能需要连接到Java安装 我对Rhino的预期用途是从终端命令行运行JavaScript,我正在寻求帮助,因为我认为我缺乏Java知识来快速解决这个问题 如果您能提供任何帮助或建议链接,我将不胜感激 谢谢Paul,我以前没有用过Rhino,但我很快就从Mozilla那里拿到了1.7R2并试用了一

我正在运行OSX 10.6 Snow Leopard,已下载rhino1_7R2并将其移动到/usr/local/

然而,我知道(虽然这将防止它被操作系统更新所改变),这可能不是它的最佳位置,并且设想它可能需要连接到Java安装

我对Rhino的预期用途是从终端命令行运行JavaScript,我正在寻求帮助,因为我认为我缺乏Java知识来快速解决这个问题

如果您能提供任何帮助或建议链接,我将不胜感激


谢谢Paul,我以前没有用过Rhino,但我很快就从Mozilla那里拿到了1.7R2并试用了一下。它似乎是一个标准的JavaJAR可执行文件。与Java相比,it的位置无关紧要(应该如此)

在您的情况下,运行它所需的全部操作如下(来自Terminal.app):

我注意到这个特定的程序实际上启动了一个交互式JS shell,这可能不是您想要的(但可能是),但是如果您在-help下运行它,您将看到它的全部用法:

java -jar /usr/local/rhino1_7R2/js.jar -help

请注意,自Java6以来,脚本API内置于标准Java库中,您真的不再需要像Mozilla Rhino这样的第三方库。(事实上,Java6中的脚本API是Mozilla Rhino的改编版本)

有关包
javax.script
的详细信息,请参见:

Mac OS X 10.6(Snow Leopard)上Java的默认版本是Java 6,因此您应该能够使用标准脚本API,而无需安装任何特殊的东西

注意:我发现
jrunscript
安装在我的Mac上,但由于某些原因,它不在路径中,因此如果我在终端中键入
jrunscript
,它就找不到它。在我的文件系统中,它位于以下位置:


/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands/jrunscript

正如其他答案和评论中提到的jrunscript一样,它是一个方便的工具,但不支持完整的Javascript 1.5

$ jrunscript -q
Language ECMAScript 1.6 implemention "Mozilla Rhino" 1.6 release 2
从Rhino 1.6R6开始,JavaScript1.5就完全受支持,Rhino 1.7支持JavaScript1.7

Rhino 1.6Rx应该支持E4X,但奇怪的是,这个简单的示例在jrunscript中失败了:

$ jrunscript -e 'toto = <tata/>'
script error: sun.org.mozilla.javascript.internal.EvaluatorException: erreur de
syntaxe (<string>#1) in <string> at line number 1
$jrunscript-e'toto='
脚本错误:sun.org.mozilla.javascript.internal.EvaluatorException:erreur de
第1行的句法(#1)
我很难让jrunscript与John Resig(允许在Rhino脚本中加载jQuery、Prototype和其他lib)一起工作,因为1.6R2没有实现get&set属性(它们是在1.6R6 IIRC中添加的)

有关Rhino版本的更多信息,请点击此处:


所以我认为Rhino 1.7R2更适合你,因为你已经拥有了它。只需使用别名或其他东西来缩短命令行。

您应该可以使用JDK jrunscript工具(Rhino是用Java 6打包的)来做到这一点,Rhino的捆绑版本不是Rhino1_7R2,不幸的是,它不包括E4X。我根据本文安装了Rhino,但它是在Leopard上安装的,而不是在Snow Leopard上安装的。不过,我认为这不重要。Alex和Jesper都很有帮助,如果我有15个声誉,我会投票支持他们。现在我的“声誉”增加了,我确实投票支持他们,我发现同样的情况是,它不在路径中,尽管使用您提供的完整路径确实在shell中运行jrunscript。我将查看添加符号链接或将其添加到~/.profile是否可以缩短路径。您注意到答案左上角的向上投票箭头了吗?;-)嗨,杰斯珀,说得好!我确实注意到了向上投票箭头,但我需要15个或更多的声誉才能使用它们…谢谢,这就是我需要知道Rhino应该/可以安装在哪里的原因。谢谢你提供的信息!它鼓励我坚持使用犀牛。您将在哪里安装Rhino 1.7?在/usr/local/像我做的那样还是在其他地方?如果您提到使用别名,您会使用它连接哪两条路径?
$ jrunscript -e 'toto = <tata/>'
script error: sun.org.mozilla.javascript.internal.EvaluatorException: erreur de
syntaxe (<string>#1) in <string> at line number 1