JDK-8193757 : Remove the Java EE and CORBA modules from Java SE and the JDK
  • Type: CSR
  • Component: other-libs
  • Priority: P2
  • Status: Closed
  • Resolution: Approved
  • Fix Versions: 11
  • Submitted: 2017-12-18
  • Updated: 2018-01-19
  • Resolved: 2018-01-19
Related Reports
CSR :  
Relates :  
Description
Summary
-------
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.

Problem
-------
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](https://github.com/javaee). 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.

Solution
--------

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](https://bugs.openjdk.java.net/browse/JDK-8189188).

Specification
-------------

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:

 -  wsgen 
 -  wsimport 


The following  JAXB tools, from the jdk.xml.bind module, will  be removed:

 -  schemagen
 - xjc

The following  CORBA tools, from the java.corba module, will be removed:

 - idlj
 -  orbd
 - servertool
 - tnamesrv

The `rmic` compiler will be updated:

 -  To remove the `-idl` and `-iiop` options. 
   -  Consequently, `rmic` will 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. 

The JNDI `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: 

 - com.sun.xml.internal.ws.client.ContentNegotiation 
 - com.sun.xml.internal.ws.legacyWebMethod 
 - javax.xml.bind.context.factory 
 - javax.xml.bind.JAXBContext 
 - javax.xml.soap.MetaFactory 
 - javax.xml.ws.spi.Provider 
 - jaxb.fragment 
 - jaxb.noNamespaceSchemaLocation 
 - jaxb.schemaLocation 
 - jaxb.formatted.output 
 - jaxb.encoding 
 - mail.mime.decodetext.strict 
 - mail.mime.encodeeol.strict 
 - mail.mime.foldencodedwords 
 - mail.mime.foldtext 
 - mail.mime.charset 
 - saaj.mime.optimization 
 - saaj.lazy.contentlength 
 - saaj.lazy.mime.optimization 
Comments
Moving to Approved.
19-01-2018

For Corba, the following properties are available and commonly used: + org.omg.CORBA.ORBClass + org.omg.CORBA.ORBSingletonClass The following JAX-WS properties were found but not aware of them being docmented: + com.sun.xml.internal.ws.client.ContentNegotiation + java.vendor.url + java.protocol.handler.pkgs + saaj.mime.optimization + saaj.lazy.mime.optimization + mail.mime.decodetext.strict + mail.mime.encodeeol.strict + mail.mime.foldencodedwords + mail.mime.foldtext + mail.mime.charset + com.sun.xml.internal.ws.legacyWebMethod
02-01-2018

Alan, I'm looking for a at least a one or two pass attempt to characterize the set of system properties which will no longer exist for the JDK after this change.
02-01-2018

Joe - are you looking for an exhaustive list of the system properties that are read by code in these modules?
27-12-2017

Moving to Provisional. Before the request is finalized, are there any system properties that should be removed as part of this work?
21-12-2017