在 JDK 11 中已移除了 java.xml.bind 和 java.activation 模块(定制实现)

在 JDK 11 中已移除了 java.xml.bindjava.activation 模块。这些模块包含以下包:

此规则会标记使用了先前列出的任何包并封装了自己的 JAXB 实现的应用程序。以前,JAXB 实现可能依赖于可从 JDK 访问的先前列出的 API。但是,从 JDK 11 开始,无法再访问这些 API。

封装了自己的 JAXB 实现的应用程序将需要使用 Java 11 兼容版本(封装了已移除的 API 以及实现)来更新其封装的 JAXB 实现。

另一种解决方案是切换到 Liberty 缺省 JAXB 实现。可通过将 jaxb-2.2 功能部件添加到 Liberty server.xml 配置文件来完成此操作。此外,必须移除应用程序中先前封装的任何 JAXB 实现,才能避免类装入问题。

除了从 JDK 中移除了 java.xml.bind 模块外,还从 JDK 11 中移除了 schemagenxjc 工具。在 Liberty 安装的 Liberty bin/jaxb 目录中提供了这些工具。

有关 JDK 11 更改的更多信息,请参阅 Removal of Java EE and CORBA Modules