Fix Version/s: 11
Compatibility Kind:source, binary
Compatibility Risk Description:The risk of removing the Java EE modules is that applications will not compile or run if they rely on "out of the box" support in the JDK for Java EE APIs and tools. These applications will experience binary and source incompatibilities when migrating from JDK 6, 7, or 8, to JDK 9 or a later release. Please refer to JEP 320, https://bugs.openjdk.java.net/browse/JDK-8189188 for additional information.The risk of removing the Java EE modules is that applications will not compile or run if they rely on "out of the box" support in the JDK for Java EE APIs and tools. These applications will experience binary and source incompatibilities when migrating from JDK 6, 7, or 8, to JDK 9 or a later release. Please refer to JEP 320, https://bugs.openjdk.java.net/browse/JDK-8189188 for additional information.
Interface Kind:Java API, System or security property, add/remove command in $JDK/bin, add/remove/modify command line option
Remove the Java EE and CORBA modules and related tools from Java SE.
These modules were deprecated in Java SE 9 with the declared intent to remove them in a future release.
At the time of their inclusion, the Java SE and Java EE versions were identical except for Java SE dropping a package the javax.annotation.security page. However, over time, the versions in Java EE evolved, adding functionality which was not relevant to Java SE standalone applications.
The Java EE technologies are maintained by upstream projects on java.net and later on GitHub. This made maintenance problematic due to having to sync the Java SE versions in OpenJDK repositories with the Java EE versions in upstream repositories.
Since standalone versions of the Java EE technologies are readily available from third-party sites, such as Maven Central, there is no need for the Java SE to include them.
Remove the Java EE and CORBA modules and its related tools.
With the exception of CORBA, applications who continue to require these technologies may obtain standalone version from Maven Central. Currently there is not a standalone replacement for anyone relying on the CORBA implementation provided by Java SE. For more details refer to JEP 320.
Remove the following modules:
- java.xml.ws (JAX-WS, plus the related technologies SAAJ and Web Services Metadata)
- java.xml.bind (JAXB)
- java.activation (JAF)
- java.xml.ws.annotation (Common Annotations)
- java.corba (CORBA)
- java.transaction (JTA)
Related modules will also be removed:
- java.se.ee (Aggregator module for the six modules above)
- jdk.xml.ws (Tools for JAX-WS)
- jdk.xml.bind (Tools for JAXB)
The following JAX-WS tools, from the jdk.xml.ws module, will be removed:
The following JAXB tools, from the jdk.xml.bind module, will be removed:
The following CORBA tools, from the java.corba module, will be removed:
rmic compiler will be updated:
- To remove the
rmicwill no longer be able to generate IDL or IIOP stubs and tie classes.
The description for jdk.rmic module will be updated to remove the following stub and ties reference:
- and stubs and tie class files (IIOP protocol) for remote objects.
CosNaming provider (from
java.corba) will also be removed.
In addition, the following system properties are no longer applicable due to the the removal of the Java EE and CORBA modules: