Standalone Nashorn is coming for Java 15+

Attila Szegedi szegedia at gmail.com
Mon Oct 12 13:02:50 UTC 2020


Hi Anamitra,

yes, that is the exact intent of this initial standalone Nashorn release work. 

A minor point though where you mention “java application path": Nashorn used to be a JDK module, and it only works properly when put on the module path. But as long as you put it in the --module-path, it should Just Work as it did before.

Attila.

> On 2020. Oct 12., at 2:53, Anamitra Bhattacharyya <abhattacharyya at us.ibm.com> wrote:
> 
> Hi Attila
> We use Nashorn as a JSR 223 language and do not use any internal Nashorn api - just the standard exposed using the JSR 223 interfaces. Are you saying that Nashorn would be available as a separately downloadable jar that we can put in our java application path and it will show up as a jsr223 language? That would be extremely helpful for all our customers who have developed thousands of JVM bases Nashorn scripts. 
> thanks
> Anamitra Bhattacharyya
> STSM, Maximo, IoT
> IBM Master Inventor
>  
>  
>  
> ----- Original message -----
> From: Attila Szegedi <szegedia at gmail.com>
> Sent by: "nashorn-dev" <nashorn-dev-retn at openjdk.java.net>
> To: Nashorn-Dev <nashorn-dev at openjdk.java.net>
> Cc:
> Subject: [EXTERNAL] Standalone Nashorn is coming for Java 15+
> Date: Sun, Oct 11, 2020 3:29 AM
>  
> Folks,
> 
> some good news for y'all (presumably you're on this mailing list because you are interested in Nashorn.)
> 
> Since Nashorn's removal from JDK starting with Java 15, numerous people have realized that they, in fact, rely on it. To remedy the situation, Nashorn will continue as a standalone project within the OpenJDK organization.
> 
> You might ask, "But isn't Nashorn officially dead?", to which the answer is: no, it isn’t. The project’s product is merely no longer shipped as part of the JDK project. The Nashorn project in OpenJDK organization is still live[1], along with all of its resources including the mailing list this message is posted on. It was merely not active for a while, until now.
> 
> What does this mean in practical terms? The following will happen or are happening:
> 
> * Project communication will continue on this mailing list (<nashorn-dev at openjdk.java.net>).
> 
> * A GitHub project openjdk/nashorn will be set up. It will be populated by a clone of the openjdk/jdk14u repo that has been filtered for  Nashorn-only commits. (Thanks, git-filter-repo[2], you are awesome!) There will be no synchronization back to jdk14u afterwards, it won't act as an upstream. openjdk/nashorn proceeds independently from that point on.
> 
> * The project will change the module and package names as it can't keep living within the top-level "jdk." package. In accordance with other independently-developed OpenJDK projects, it will transition to module and package names within the "org.openjdk." package. Fortunately for Nashorn, it is mostly used through the "javax.script.*" APIs so people that use it through those APIs won't have to adapt their code. Creating the engine by name as described in Nashorn’s last (JDK 14) API docs[3] will continue to work. People that used to use the Nashorn-specific API (typically, AbstractJSObject and ScriptObjectMirror) will need to adapt their code for new package names, though.
> 
> * Project artifacts (in plain English: JAR file to be used with Maven etc.) will be published on SonaType under the "org.openjdk" organization, again similar to other independently-developed OpenJDK projects.
> 
> The goal for the initial release is to ship a standalone Nashorn with identical functionality to that in JDK 14, with the only changes being:
> 
> * reversing of deprecation and “scheduled for removal” notices,
> * enacting the package and module name changes,
> * replacing or removing dependencies on various jdk.internal.* packages since those are no longer exported from JDK modules to the Nashorn module.
> 
> It is possible for expediency that we will decide to ship Nashorn as a library first, and separately ship the initial version of the jjs shell sometime later.
> 
> I’m personally undertaking these initial tasks. I will let you know here on the list about the progress, and once the repo is set up the work will also start appearing on a branch.
> 
> There are some other aspects of the project that need to be worked out: contribution and review guidelines, publication location of the accompanying documentation (that will no longer be part of the JDK documentation) and so on. I will post discussion-initiating e-mails for these as well as time comes and will absolutely welcome feedback on them, just as I welcome feedback on this plan too.
> 
> Attila.
> 
> --
> [1] https://openjdk.java.net/projects/nashorn/ <https://openjdk.java.net/projects/nashorn/> 
> [2] https://github.com/newren/git-filter-repo <https://github.com/newren/git-filter-repo> 
> [3] https://docs.oracle.com/en/java/javase/14/docs/api/jdk.scripting.nashorn/module-summary.html <https://docs.oracle.com/en/java/javase/14/docs/api/jdk.scripting.nashorn/module-summary.html> 
>  
> 



More information about the nashorn-dev mailing list