2013-03-09 3 views
2

У кого-нибудь есть указатели на то, как начать играть с новым движком JS от Oracle, Nashorn?Nashorn в JDK8 b80?

Я установил JDK 8 b80 и до сих пор только Rhino:

@Test 
public void list() { 
    ScriptEngineManager manager = new ScriptEngineManager(); 
    List<ScriptEngineFactory> factories = manager.getEngineFactories(); 
    for (ScriptEngineFactory factory : factories) { 
     System.out.println(factory.getEngineName()); 
    } 
} 

Выход:

"C:\Program Files\Java\jdk1.8.0\bin\java" -ea -Didea.launcher.port=7537... 
Mozilla Rhino 
+2

nashorn-jdk8 - отдельная ветвь по состоянию на март 2013 года. Вы можете проверить это и построить nashorn.jar отдельно. Я обновил свой ответ [здесь] (http://stackoverflow.com/a/13430909/993133) – pd40

ответ

1

Установите JDK8 и создать псевдоним для джозефсоновских вашего JDK (в Nashorn Interpreter), например, если создать файл с именем test.js, вы можете запустить программу с:

джозефсоновского $ test.js

Mac OS = псевдоним JJS = '/ Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Содержание/Главная/JRE/бен/JJS'

для Windows = Определить переменную окружения под названием 'JAVA8_HOME' и указывать на jdk8 папку, то вы можете вызвать JJS, выполнив команду:

«% JAVA8_HOME% \ JRE \ Bin \ JJS» test.js

Вот пример Насхорн App: http://marcelorjava.wordpress.com/2013/08/24/code-walkthrough-online-kanban-board-with-nashorn/

+2

На Mac вам не нужно (и, вероятно, не стоит) жестко кодировать путь к jdk8. Используйте: 'alias jjs = '$ (/ usr/libexec/java_home -v 1.8)/jre/bin/jjs'' – hohonuuli

+2

Мне нравится (cd/usr/bin /; ln -s $ JAVA_HOME/bin/jjs jjs) самостоятельно , Таким образом, я могу использовать jjs в сценариях shebang. – wickund

1

К сожалению, мне не нравится псевдоним-либо вещь, так wickund предложил я надену его коротким (а также использовать трюк hohonuuli отправил)

cd /usr/bin; ln -s $(/usr/libexec/java_home -v 1.8)/bin/jjs jjs 

ли это как корень, иначе вы не будете быть повезло из-за недостающих разрешений