Как лучше всего установить Rhino на OSX 10.6 Snow Leopard

Я использую OSX 10.6 Snow Leopard, загрузил rhino1_7R2 и переместил его в /usr/local/

Однако я знаю, что (хотя это предотвратит его изменение обновлениями ОС), это может быть не лучшее место для него, и представьте, что его может потребоваться подключить к установке Java.

Мое предполагаемое использование Rhino - запустить JavaScript из командной строки терминала, и я прошу помощи, поскольку считаю, что мне не хватает знаний Java, чтобы быстро понять это.

Буду признателен за любую помощь или ссылки на советы,

спасибо Пол


person paulhhowells    schedule 27.09.2009    source источник
comment
Вы сможете сделать это с помощью инструмента JDK jrunscript (Rhino упакован с Java 6) developer.apple.com/mac/library/documentation/Darwin/Reference/   -  person McDowell    schedule 28.09.2009
comment
Эта версия Rhino в комплекте не Rhino1_7R2 и, к сожалению, не включает E4X.   -  person Steven Huwig    schedule 28.09.2009
comment
Я установил Rhino, следуя этой статье — ejohn.org/blog/bringing -the-browser-to-the-server, но это было на Leopard, а не на Snow Leopard. Хотя я не думаю, что это должно иметь значение.   -  person kangax    schedule 28.09.2009
comment
и Алекс, и Джеспер были полезны, я бы проголосовал за них, если бы у меня было 15 репутации.   -  person paulhhowells    schedule 28.09.2009
comment
и теперь, когда моя «репутация» увеличилась, я действительно проголосовал за них   -  person paulhhowells    schedule 21.04.2011


Ответы (3)


Раньше я не пользовался Rhino, но быстро взял 1.7R2 из Mozilla и попробовал. Похоже, это стандартный исполняемый файл jar Java. Его расположение по сравнению с Java не имеет значения (как и должно быть).

Все, что вам нужно сделать, чтобы запустить его, в вашем случае будет примерно следующим (из Terminal.app):

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

Я заметил, что эта конкретная программа на самом деле запускает интерактивную оболочку JS, которая может быть не такой, как вы хотели (но может быть), но если вы запустите ее с параметром -help, вы увидите ее полное использование:

java -jar /usr/local/rhino1_7R2/js.jar -help
person Alex    schedule 28.09.2009
comment
Спасибо, это было то, что мне нужно было знать о том, где Rhino должен / может быть установлен. - person paulhhowells; 29.09.2009

Обратите внимание, что начиная с Java 6 API сценариев встроен в стандартную библиотеку Java, и вам больше не нужна сторонняя библиотека, такая как Mozilla Rhino. (На самом деле скриптовый API в Java 6 — это адаптированная версия Mozilla Rhino).

См. документацию по API для пакета javax.script и см.: Сценарии для платформы Java.

Версией Java по умолчанию в Mac OS X 10.6 (Snow Leopard) является Java 6, поэтому вы сможете использовать стандартный API сценариев без установки каких-либо специальных компонентов.

Примечание. Я обнаружил, что jrunscript установлен на моем Mac, но по какой-то причине его нет в PATH, поэтому он не может его найти, если я наберу jrunscript в терминале. В моей файловой системе это здесь:

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

person Jesper    schedule 28.09.2009
comment
Спасибо, я обнаружил то же самое, что его нет в PATH, хотя использование полного пути, который вы указали, действительно запускает jrunscript в оболочке. Я посмотрю, может ли добавление символической ссылки или добавление ее в ~/.profile сделать путь короче. - person paulhhowells; 29.09.2009
comment
Вы заметили стрелки вверху слева от ответов? ;-) - person Jesper; 30.09.2009
comment
Привет Джеспер, хорошая мысль! Я заметил стрелки вверх, но мне нужна репутация 15 или выше, чтобы их использовать... - person paulhhowells; 10.11.2009

Поскольку jrunscript упоминался в других ответах и ​​комментариях, это удобный инструмент, но он не поддерживает полный Javascript 1.5.

$ jrunscript -q
Language ECMAScript 1.6 implemention "Mozilla Rhino" 1.6 release 2

Javascript 1.5 полностью поддерживается, начиная с Rhino 1.6R6, а Rhino 1.7 поддерживает JavaScript 1.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 с env.js от Джона Резига. a> (что позволяет загружать jQuery, Prototype и другие библиотеки в сценарии Rhino), потому что 1.6R2 не реализует свойства get & set (они были добавлены в 1.6R6 IIRC).

Подробнее о версиях Rhino здесь:

Поэтому я думаю, что Rhino 1.7R2 лучше для вас, так как он у вас уже есть. Просто используйте псевдоним или что-то еще, чтобы сделать командную строку короче.

person Sébastien RoccaSerra    schedule 09.11.2009
comment
Спасибо за эту информацию! Это побуждает меня продолжать работать с Rhino. Куда бы вы установили Rhino 1.7? В /usr/local/, как я, или где-то еще? Вы упомянули об использовании псевдонима, какие два пути вы бы использовали для подключения? - person paulhhowells; 10.11.2009