Каково текущее состояние сценариев Java? (т. е. JSR 223 или его преемники)

Я хотел бы добавить возможность сценариев для событий в существующем приложении Java. Осматриваясь, я нахожу JSR 223 для Java-скриптов. Но он отозван, и википедия сообщает мне, что

было решено, что эта функциональность будет включена как неотъемлемая часть Java 9 и более поздних версий.

Тем не менее, глядя на страницу википедии, посвященную версиям Java SE, я не вижу ничего, начиная с Java SE 9 и далее настоящее время (Java SE 16, в разработке) для меня это звучит как сценарий.

Итак, каков текущий рекомендуемый подход к интеграции средств сценариев в существующую программу Java? (И я пропустил что-то в Java SE 9+, что говорит об этом?) (Или тот факт, что он действительно появляется в Java SE 8 на этой странице википедии, означает, что он действительно появился раньше - для некоторого определения раннего, которое включает в себя поздний выпуск ...)


person davidbak    schedule 10.11.2020    source источник
comment
Все сложно. Используйте GraalVM. Или решите, какой язык вы хотите использовать с какой версией Java, и поищите реализацию. Nashorn или Rhino, если вы хотите внедрить JavaScript. Jython для Python. И Т. Д.   -  person Elliott Frisch    schedule 10.11.2020
comment
@ElliottFrisch - означает ли использование GraalVM его часть конкретной реализации, а не официально Java как таковую? И Rhino (ранее), и Nashorn (позже) устарели и удалены из Java, если я правильно понимаю эту страницу версии.   -  person davidbak    schedule 10.11.2020
comment
@ElliottFrisch - Думаю, в настоящее время я более или менее независим от языка сценариев - мне интересно, ищу ли я механизмы языка сценариев, поддерживающие JSR 223 или что-то еще?   -  person davidbak    schedule 10.11.2020
comment
В настоящее время это в значительной степени не имеет значения. И GraalVM, похоже, является направлением, в котором следует Oracle. Так что, если вы хотите узнать официальную версию, она, кажется, такова. Редко случай использования включает поддержку нескольких языков сценариев; что делает JSR 223 приятным (а не необходимостью). А в некоторых случаях вам все равно придется возиться с внутренностями реализации языка сценариев (что делает JSR 223 непрактичным). Я сделал большой проект с Nashorn. Это было интересно.   -  person Elliott Frisch    schedule 10.11.2020
comment
@ElliottFrisch - хорошо, спасибо!   -  person davidbak    schedule 10.11.2020
comment
есть много языков, которые поддерживают JSR223 kotlin,velocity,groovy,... и Java поддерживает его, ваш вопрос, каковы изменения по сравнению с Java 9?   -  person user7294900    schedule 10.11.2020
comment
@ user7294900 - Мой вопрос: JSR-223 официально отозван. Вы предполагаете, что он все еще поддерживается? Значит ли это, что отзыв просто означает (в данном случае), что теперь он официально поддерживается, поэтому ему больше не нужно быть JSR? (Потому что я этого не знал, если это правда. Кажется, нигде не указано? Я вообще не знаю процесс JSR, но не будет ли для этого другого статуса, например, принятого?)   -  person davidbak    schedule 10.11.2020
comment
@ user7294900 - И еще одна возможность заключается в том, что страница Википедии просто пропустила это как функцию Java 9, и я ищу не в том месте список новых функций Java по версиям, потому что ... Википедия ...   -  person davidbak    schedule 10.11.2020
comment
Начиная с java 7 и до java 8 были улучшения docs.oracle.com/javase/8/docs/technotes/guides/scripting/   -  person user7294900    schedule 10.11.2020


Ответы (1)


Я думаю, вы можете игнорировать статус отозван, особенно потому, что он уже работает/встроен в Java.

Я смотрю на вашу вики-ссылку, и там говорится, что JSR 223 в Java SE 8

JSR 223, JEP 174: Project Nashorn, среда выполнения JavaScript, которая позволяет разработчикам встраивать код JavaScript в приложения.

и даже Java 6:

Поддержка языка сценариев (JSR 223): универсальный API для тесной интеграции с языками сценариев и встроенная интеграция Mozilla JavaScript Rhino.

На самом деле были улучшения, начиная с Java 7< /а>

Улучшения в Java SE 7 Выпуск JDK 7 поставляется совместно с механизмом JavaScript Mozilla Rhino, основанным на предварительных исходных кодах версии 1.7R3 с модификациями Oracle. Исходные коды Rhino, модифицированные Oracle, можно загрузить с веб-сайта java.net.

person user7294900    schedule 11.11.2020