-
JEP
-
Resolution: Delivered
-
P3
-
Jim Laskey
-
Feature
-
Open
-
JDK
-
-
M
-
M
-
372
Summary
Remove the Nashorn JavaScript script engine and APIs, and the jjs
tool. The engine, the APIs, and the tool were
deprecated for removal in Java 11 with the
express intent to remove them in a future release.
Motivation
The Nashorn JavaScript engine was first incorporated into JDK 8 via JEP 174 as a replacement for the Rhino scripting engine. When it was released, it was a complete implementation of the ECMAScript-262 5.1 standard.
With the rapid pace at which ECMAScript language constructs, along with APIs, are adapted and modified, we have found Nashorn challenging to maintain.
Non-Goals
This removal does not affect, in any way, the javax.script
API.
Description
Two JDK modules will be permanently removed:
jdk.scripting.nashorn
-- contains thejdk.nashorn.api.scripting
andjdk.nashorn.api.tree
packages.jdk.scripting.nashorn.shell
-- contains thejjs
tool.
Risks and Assumptions
We assume that developers who rely on Nashorn have had enough notice of its
proposed removal to make alternative arrangements. The deprecation-for-removal
of Nashorn in JDK 11 was confirmed in June 2018, causing the proposed removal
to be flagged at every use of the jdk.nashorn.*
API and the jjs
tool in JDK
11, 12, and 13. During this period, no set of credible developers expressed a
clear desire to maintain Nashorn in JDK 14 and beyond.
- relates to
-
JDK-8202786 JEP 335: Deprecate the Nashorn JavaScript Engine for Removal
- Closed
-
JDK-8241749 Remove the Nashorn JavaScript Engine
- Resolved
-
JDK-8253276 eclipse: An internal error occurred during: "Load QML Analyzer". Cannot invoke "
- Closed
-
JDK-8247956 remove scripts under bin/nashorn and doc/nashorn/source
- Resolved