提问人:gkephorus 提问时间:11/2/2023 更新时间:11/13/2023 访问量:88
将 JAXB2 Simplify 插件与 java 17 和 codehaus 的 jaxb2-maven-plugin 一起使用
Using the JAXB2 Simplify Plugin together with Java 17 and jaxb2-maven-plugin of codehaus
问:
从一个具有 jaxb2-maven-plugin 和 Maven-plugin jaxb2-maven-plugin 的 Highsource jaxb2-basics 插件的项目开始,我能够使用 Highsource“JAXB2 简化插件”。
但这是在项目仍在使用旧的 jaxb2-maven-plugin(2.4 版本)和面向 JAXB 2.2 的 Java 8 的时候。
现在我想在 Java 17 中使用相同的“JAXB2 简化插件”和 jaxb2-maven-plugin:3.1.0(面向 JAXB 3.0),但现在我们得到一个类 javax.xml.bind.JAXBException,正如你可以想象的那样,“JAXB2 简化插件”(2.0.9)不支持新的 Jakarta 命名空间。
问:当我使用 Java 17/JAXB 3.0 时,“JAXB2 简化插件”的新 groupId:artifactId 是什么?或者我需要切换到不同的 xjc 包装器。
(作为参考:我也在使用“JAXB2 命名空间前缀插件”,它似乎确实有效,也许它不需要 javax/jakarta 命名空间?我还使用 yobibit 的 Maven-plugin-plugin jaxb-lombok-plugin。
答:
1赞
Laurent Schoelens
11/11/2023
#1
您可以按照迁移指南跟进升级到 v3 / v4 并支持 jakarta。
我认为您必须将工件更改为以下内容jaxb2-basics
<groupId>org.jvnet.jaxb</groupId>
<artifactId>jaxb-plugins</artifactId>
V3 版本以 jaxb 3 api 和 jdk8 基线为目标
V4 版本以 jaxb 4 api 和 jdk11 基线为目标
评论
0赞
gkephorus
11/17/2023
感谢您将我指向 Wiki 中的迁移页面。这些非常有帮助。
0赞
Laurent Schoelens
11/17/2023
不客气,他们需要避免混淆
评论