使用Apache cxf-xjc-plugin和Java 11生成Java源文件正常,在尝试使用JAXB时出现问题:Java 11的可用JAXB实现是
org.glassfish.jaxb:jaxb-runtime
或org.eclipse.persistence:org.eclipse.persistence.moxy
,它们都将原来在包javax.xml.bind
中的所有类移动到jakarta.xml.bind
。这是一个问题,因为cxf-xjc-plugin生成的Java类使用javax.xml.bind
包中的注释。
我的想法有两个潜在解决方案:
- 是否存在使用原始
javax.xml.bind
包的JAXB实现(适用于Java 11)? - 是否有一种方法可以配置cxf-xjc-plugin以在生成的类注释中使用
jakarta.xml.bind
包?
find . -name '*.java' -print0 | xargs -0 perl -pi -e 's|\Qjavax.xml.bind\E|jakarta.xml.bind|g'
,使用Maven exec插件运行。不太理想。 - Ivan G.