JEP 335: Deprecate the Nashorn JavaScript Engine for Removal
Пометить движок JavaScript Nashorn как Deprecated for Removal (устаревший, будет удалён)
| Ответственный | Jim Laskey |
| Тип | Feature |
| Область | JDK |
| Статус | Closed / Delivered |
| Выпуск | 11 |
| Компонент | core-libs / jdk.nashorn |
| Обсуждение | jdk dash dev at openjdk dot java dot net |
| Трудоёмкость | S |
| Связан с | JEP 372: Remove the Nashorn JavaScript Engine |
| Рецензенты | Alex Buckley, Brian Goetz, Dalibor Topic |
| Одобрен | Mark Reinhold |
| Создан | 2018/05/08 14:23 |
| Обновлён | 2024/04/25 15:47 |
| Задача | 8202786 |
Аннотация
Пометить как Deprecated for Removal движок сценариев JavaScript Nashorn, его API и инструмент jjs с намерением удалить их в одном из будущих выпусков.
Мотивация
Движок JavaScript Nashorn впервые вошёл в JDK 8 в рамках JEP 174 как замена движка сценариев Rhino. На момент выпуска он был полной реализацией стандарта ECMAScript-262 5.1.
Языковые конструкции ECMAScript, как и API, адаптируются и изменяются очень быстро, и поддерживать Nashorn оказалось для нас сложно.
Что не является целью
Это объявление устаревшим никак не затрагивает API javax.script.
Описание
Два модуля JDK будут окончательно помечены как устаревшие, то есть получат аннотацию @Deprecated(forRemoval=true):
-
jdk.scripting.nashorn— содержит пакетыjdk.nashorn.api.scriptingиjdk.nashorn.api.tree. -
jdk.scripting.nashorn.shell— содержит инструментjjs. При запускеjjsбудет выводиться предупреждение:Предупреждение: инструмент jjs планируется удалить в одном из будущих выпусков JDK.
Для фактического удаления этих типов и модулей в одном из будущих Feature Release (функциональный выпуск) JDK будет подан отдельный JEP.
Альтернативы
Альтернатива: группа авторитетных разработчиков ясно выразит желание поддерживать Nashorn в дальнейшем. Если это произойдёт до интеграции этого JEP, этот JEP может быть отозван. Если это произойдёт после интеграции этого JEP, но до удаления Nashorn, пометку об устаревании может отменить последующий JEP.
Риски и допущения
Риск удаления Nashorn в том, что некоторые приложения перестанут работать, поскольку рассчитывают на наличие JavaScript. Оценить масштаб использования Nashorn было непросто. Есть надежда, что отзывы на этот JEP помогут лучше понять, как Nashorn используется на самом деле.