我正在尝试将我的 Java 类生成从以前的 javax.* 迁移到 jakarta.* 我正在使用 Maven 插件
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>3.1.0</version>
将目标设置为 3.0 并使用参数
<arguments>
<argument>-Xinject-code</argument>
<argument>-Xannotate</argument>
</arguments>
在我的 xjb 中,我有一些注释绑定(将 Lombok 注释添加到我的类中)。
<jxb:bindings version="3.0"
xmlns:jxb="https://jakarta.ee/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:annox="http://annox.dev.java.net"
jxb:extensionBindingPrefixes="xjc annox">
我收到异常:“com.sun.tools.xjc.BadCommandLineException:无法识别的参数-Xannotate”
我明白了,那个注释是一个 xjc 插件。是否有一个新的实现,我可以将其添加到 jaxb2-maven-plugin 依赖项中以使其工作?
我已经尝试过了
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>3.1.0</version>
...
<dependencies>
<dependency>
<groupId>org.patrodyne.jvnet</groupId>
<artifactId>hisrc-hyperjaxb-annox-plugin</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
</dependencies>
</plugin>
没有成功(仍然无法识别参数)
http://annox.dev.java.net
命名空间与jaxb2注释插件相关
现在该插件已合并到 jaxb-tools 中,它是 maven-jaxb2-plugin 的前存储库。
您可以按照迁移指南获取最新版本的插件。从v3(jakarta jaxb3版本)开始,该插件位于
<groupId>org.jvnet.jaxb</groupId>
<artifactId>jaxb-plugin-annotate</artifactId>
<version>3.0.0</version>