Java 11 的 javax.xml.bind 问题
如何解决 Java 11 中不存在 javax.xml.bind 软件包的问题?
根据发布文档,Java 11 已移除 Java EE 模块:
通过使用 Java EE 技术的替代版本可以解决此问题。只需添加包含所需类的 Maven 依赖项即可:
<code class="xml"><dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.3.0</version> </dependency></code>
Jakarta EE 8 更新(2020 年 3 月)
可以使用 Jakarta EE 8 中的 Jakarta XML Binding,而不是旧的 JAXB 模块:
<code class="xml"><dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>2.3.3</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.3.3</version> <scope>runtime</scope> </dependency></code>
Jakarta EE 9 更新(2020 年 11 月)
使用 Jakarta XML Binding 3.0 的最新版本:
<code class="xml"><dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>3.0.0</version> <scope>runtime</scope> </dependency></code>
注意:Jakarta EE 9 采用新的 API 软件包命名空间 jakarta.xml.bind.*,因此请更新导入语句:
javax.xml.bind -> jakarta.xml.bind
Jakarta EE 10 更新(2022 年 6 月)
使用 Jakarta XML Binding 4.0 的最新版本(需要 Java SE 11 或更高版本):
<code class="xml"><dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>4.0.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>4.0.0</version> <scope>runtime</scope> </dependency></code>
以上是如何解决 Java 11 中的'javax.xml.bind”问题?的详细内容。更多信息请关注PHP中文网其他相关文章!