CORBA in JDK 9

Pierskalla, Eric Eric.Pierskalla at datalogic.com
Wed Nov 1 19:32:25 UTC 2017


The following is from the JDK 9 Migration Guide  https://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-7744EF96-5899-4FB2-B34E-86D49B2E89B6



<start of quoted text>



Removed Endorsed Standards Override Mechanism



The java.endorsed.dirs system property and the lib/endorsed directory are no longer present. The javac compiler and java launcher will exit if either one is detected.

In JDK 9, you can use upgradeable modules or put the JAR files on the class path.



<some deleted text>



Modules Shared with Java EE Not Resolved by Default



In JDK 9, the modules that contain CORBA or the APIs shared between Java SE and Java EE are not resolved by default when you compile or run code on the class path. These are:

    java.corba - CORBA



<more deleted text>



Existing code with references to classes in these APIs will not compile without changes to the build. Similarly, code on the class path with references to classes in these APIs will fail with NoDefClassFoundError or ClassNotFoundException unless changes are made in how the application is deployed.



The code for these APIs was not removed in JDK 9, although the modules are deprecated for removal. The policy of not resolving these modules is a first step toward removing these APIs from Java SE and the JDK in a future release.



The migration options for libraries or applications that use these APIs are:



    1. Use the --add-modules command-line option to ensure that the module with the API is resolved at startup. For example, specify --add-module java.xml.bind to ensure that the java.xml.bind module is resolved. This allows existing code that uses the JAXB API and implementation to work as it did in JDK 8.



    This is a temporary workaround because eventually these modules will be removed from the JDK.



    Using --add-modules java.se.ee or --add-modules ALL-SYSTEM as a workaround is not recommended. These options will resolve all Java EE modules, which is problematic in environments that are also using the standalone versions of APIs.



    2. Deploy the standalone version of the API (and implementation if needed) on the class path. Each of the Java EE APIs are standalone technologies with projects published in Maven Central.



    3. Deploy the standalone version of these modules on the upgrade module path. The standalone versions are provided by the Java EE project.



<end of quoted text from Migration Guide>



Currently we use the endorsed standard override mechanism to run an alternate version of CORBA in our application.  There is obviously current and future issues with trying to do this in JDK 9.

Therefore, I am trying to implement migration option #2, however I am not able to locate anything that looks like a JDK 9 compatible CORBA project in Maven Central.



Does anyone know where this is located?



Eric







CONFIDENTIALITY NOTICE. This message is for the sole use of the intended recipient(s) and may contain confidential and/or privileged information. Any unauthorized review, use, disclosure, or distribution is prohibited. If you are not the intended recipient, please destroy all copies of the original message, including any and all attachments, and notify the sender immediately.



More information about the jdk9-dev mailing list