CORBA in JDK 9
Alan Bateman
Alan.Bateman at oracle.com
Thu Nov 2 07:44:36 UTC 2017
On 01/11/2017 21:16, Pierskalla, Eric wrote:
> We are using JacORB which apparently only augments the CORBA classes in the JDK. In JDK-8189188, it notes that JacORB includes classes in the org.omg.** package hierarchy but not the javax.rmi.** package hierarchy. This supports what I am seeing. I moved the JacORB classes out of the endorsed folder onto the classpath, and it continued to function in JRE 8.
> In JRE 9, without --add-modules java.corba, I get "java.lang.NoClassDefFoundError: javax/rmi/CORBA/Stub".
> With --add-modules java.corba , the error becomes" java.lang.NoClassDefFoundError: org/omg/CORBA/ORBSingleton".
Right, JacORB seems to be incomplete and so not a drop-in replacement
for the java.corba module. If it were a drop-in replacement then you
could deploy it on the class path or deploy it as a module on the
upgrade module path (to override the java.corba module in the JDK).
I expect this will work:
--add-modules java.corba \
--patch-module java.corba=<JacORB-JAR-files-with-API-classes>
> After some research, I suspect this is a result of http://bugs.java.com/view_bug.do?bug_id=8042789
JDK 9 does the right thing and will not attempt to load the system-wide
singleton ORB using the per-application TCCL. The details of this change
are documented in the release notes [1].
-Alan
[1]
http://www.oracle.com/technetwork/java/javase/9-notes-3745703.html#JDK-8025005
More information about the jdk9-dev
mailing list