The java.xml.bind and java.activation modules were removed from JDK 11. These
modules included the following packages:
javax.activationjavax.xml.bindjavax.xml.bind.annotationjavax.xml.bind.annotation.adaptersjavax.xml.bind.attachmentjavax.xml.bind.helpersjavax.xml.bind.utilThis rule flags applications that use any of the packages listed earlier and package their own JAXB implementation. Previously, a JAXB implementation might have relied on the APIs listed earlier to be accessible from the JDK. However, starting JDK 11, those APIs are no longer accessible.
Applications packaging their own JAXB implementation will need to update their packaged JAXB implementation with a Java 11 compatible version that packages the removed APIs along with the implementation.
Another solution is to switch to the Liberty default JAXB implementation. This can be done
by adding the jaxb-2.2 feature to the Liberty server.xml configuration
file. In addition, any JAXB implementations previously packaged in the application must be
removed to avoid class-loading issues.
The schemagen and the
xjc tools were removed from JDK 11 as well.
These tools are available in the Liberty bin/jaxb directory of the Liberty installation.
The automated fix provided by the Java SE 11 general rule updates the javax.xml.bind and javax.activation modules in the application's dependencies to ensure
that they are not packaged in the application. In most cases, this fix will resolve this issue and prevent class loading issues.
Copy the custom configuration to your application build file to enable the fix automation.
For more information on JDK 11 changes, see Removal of Java EE and CORBA Modules.