Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8193757

Remove the Java EE and CORBA modules from Java SE and the JDK

XMLWordPrintable

    • Icon: CSR CSR
    • Resolution: Approved
    • Icon: P2 P2
    • 11
    • other-libs
    • None
    • source, binary
    • high
    • Hide
      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.
      Show
      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.
    • Java API, System or security property, add/remove command in $JDK/bin, add/remove/modify command line option
    • SE

      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. 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.

      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

            lancea Lance Andersen
            lancea Lance Andersen
            Alan Bateman
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: