Где находится JSR-223-оболочка Rhino для использования в JDK8?

Моя цель - сделать движок JavaScript JSR-223 доступным в виртуальной машине AdaptOpenJDK 8.

Поэтому я подумал использовать уже знакомый Rhino.

Вики-документ OpenJDK здесь
https://wiki.openjdk.java.net/display/Nashorn/Using+Rhino+JSR-223+engine+with+JDK8

Он указывает место, где можно скачать Mozilla Rhino. Вот:
https://github.com/mozilla/rhino

И указывает там, чтобы загрузить обертку двигателя сценария jsr-223. Вот:
https://java.net/projects/Scripting
Но эта ссылка мертва.

Где я могу найти упаковку JSR-223 для Rhino?
Или, может быть, есть лучшая альтернатива, доступная как JSR-223 javascript-engine.

1 ответ

У меня была точно такая же проблема, и мне удалось найти потерянный проект https://java.net/projects/Scripting.

Вот зеркало GitHub: https://github.com/scijava/javax-scripting. В комментарии говорится, что это окончательное состояние репо, не уверен, что это правда.

В этом репо также есть несколько клонов. Я нашел один особенно полезным, так как он имеет реализацию JSR223, совместимую с JDK8 для Rhino: https://github.com/zeroboo/java-scripting-rhino-jdk8.

Хотя приведенные выше очень удобны, если вам нужно обеспечить обратную совместимость с Rhino, для нового проекта я бы предпочел использовать GrallVM или Nashorn (примечание: уже устарело). Привязки JSR223 доступны для обоих: graal.js, nashorn.

Спасибо за комментарии. Это хорошая новость, что AdoptOpenJDK 8 поставляется с "Oracle Nashorn"!:)

c:/> Java -version
openjdk version "1.8.0_192"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_192-b12)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.192-b12, mixed mode

Мое тестовое приложение показывает список доступных движков JSR-223: Доступные скриптовые движки:

-------------------------------------------
Language: ECMAScript
Engine:   Oracle Nashorn
Names:    nashorn,Nashorn,js,JS,JavaScript,javascript,ECMAScript,ecmascript
-------------------------------------------

Подтверждая это, я вижу:

Name: Oracle Nashorn (version: 1.8.0_192)
Другие вопросы по тегам