如何配置最新的org.apache.cxf插件来生成javax而不是雅加达导入的java类?
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-xjc-plugin</artifactId>
<version>4.0.0</version>
<configuration>
<extensions>
<extension>org.apache.cxf.xjcplugins:cxf-xjc-dv:4.0.0</extension>
</extensions>
</configuration>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>xsdtojava</goal>
</goals>
<configuration>
<sourceRoot>${basedir}/src/gen/java</sourceRoot>
<xsdOptions>
<xsdOption>
<xsd>${basedir}/src/main/resources/xslt/MySchema.xsd</xsd>
<packagename>some.package</packagename>
</xsdOption>
</xsdOptions>
</configuration>
</execution>
</executions>
</plugin>将插件降级到2.7.0版本是有帮助的,但它在生成javaDocs方面有问题,例如,>标记没有正确地摆脱出来。
发布于 2022-08-30 12:26:38
好的,所以使用org.apache.cxf:cxf-xjc-plugin:3.3.2解决了我的问题。它正确地转义javaDoc并生成带有javax.xml.bind...导入的类。
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-xjc-plugin</artifactId>
<version>3.3.2</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>xsdtojava</goal>
</goals>
<configuration>
<sourceRoot>${basedir}/src/gen/java</sourceRoot>
<xsdOptions>
<xsdOption>
<xsd>${basedir}/src/main/resources/xslt/MySchema.xsd</xsd>
<packagename>some.package</packagename>
</xsdOption>
</xsdOptions>
</configuration>
</execution>
</executions>
</plugin>在分析了依赖关系之后,看起来插件使用了jakarta.xml.bind:jakarta.xml.bind-api:2.3.3,它以javax.xml.bind作为主包(从3.0.1版本开始改为jakarta.xml.bind )。
https://stackoverflow.com/questions/73530321
复制相似问题