使用带有Java 11的可以很好地工作,我可以从xsd文件中生成Java源代码。当试图使用JAXB使用这些Java类时,问题就出现了:JAXBforJava11的可用实现是org.glassfish.jaxb:jaxb-runtime或org.eclipse.persistence:org.eclipse.persistence.moxy,它们都将包javax.xml.bind中的所有类移动到jakarta.xml.bind。这是一个问题,因为由cxf生成的Java类是使用包javax.xml.bind中的注释进行注释的。
我认为有两种可能的解决办法:
是否有JAXB的实现(对于Java 11)使用原始的annotations?包?
jakarta.xml.bind?发布于 2020-12-05 18:40:01
您可以使用maven-antrun-plugin在生成的文件中用jakarta.xml.bind替换javax.xml.bind:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>fix-sources</id>
<phase>process-sources</phase>
<configuration>
<target>
<replace token="javax.xml.bind." value="jakarta.xml.bind."dir="${project.build.directory}/generated/src/main/java/path/to/sources">
<include name="**/*.java"/>
</replace>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>https://stackoverflow.com/questions/62962169
复制相似问题