Owner | Jim Laskey |
Type | Feature |
Scope | JDK |
Status | Closed / Delivered |
Release | 15 |
Component | core-libs / jdk.nashorn |
Discussion | jdk dash dev at openjdk dot java dot net |
Effort | M |
Duration | M |
Relates to | JEP 335: Deprecate the Nashorn JavaScript Engine |
Reviewed by | Hannes Wallnoefer, Sundararajan Athijegannathan |
Endorsed by | Mark Reinhold |
Created | 2020/01/10 14:29 |
Updated | 2020/12/15 20:37 |
Issue | 8236933 |
Remove the Nashorn JavaScript script engine and APIs, and thejjs
tool. The engine, the APIs, and the tool weredeprecated for removal in Java 11 with theexpress intent to remove them in a future release.
The Nashorn JavaScript engine was first incorporated into JDK 8 viaJEP 174 as a replacement for the Rhinoscripting engine. When it was released, it was a complete implementation ofthe 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.
This removal does not affect, in any way, thejavax.script
API.
TwoJDK modules will bepermanently removed:
jdk.scripting.nashorn
-- contains thejdk.nashorn.api.scripting
andjdk.nashorn.api.tree
packages.
jdk.scripting.nashorn.shell
-- contains thejjs
tool.
We assume that developers who rely on Nashorn have had enough notice of itsproposed removal to make alternative arrangements. The deprecation-for-removalof Nashorn in JDK 11 was confirmed in June 2018, causing the proposed removalto be flagged at every use of thejdk.nashorn.*
API and thejjs
tool in JDK11, 12, and 13. During this period, no set of credible developers expressed aclear desire to maintain Nashorn in JDK 14 and beyond.