我正在尝试构建 CXF,但收到错误:
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Thrown by JAXB: cvc-complex-type.3.2.2: Attribute 'xjc:recursive' is not allowed to appear in element 'class'. at line 44 column 28 of schema jar:file:/home/XXX/Downloads/apache-cxf-2.2.10-src/tools/wsdlto/databinding/jaxb/target/cxf-tools-wsdlto-databinding-jaxb-2.2.10.jar!/org/apache/cxf/tools/wsdlto/databinding/jaxb/W3CEPRJaxbBinding_jaxb22.xml
我搜索了这个问题,有人说这是老版本JAXB的问题,在2.2版本中已经解决了。
我有 xjc 2.2.4-2,没问题。
感谢任何帮助。
最佳答案
我从 JDK 1.7 迁移到 1.8,并开始收到此错误。这是因为 jaxb 版本低于 2.2.x
com.sun.xml.bind:jaxb-xjc:2.1.13
com.sun.xml.bind:jaxb-impl:2.1.13
如果我们使用旧版本的 org.apache.cxf(在我的例子中为 2.5.4),那么即使我们在 pom 文件中显式地将上述依赖项移动到新版本,仍然会使用 2.1.13 版本,因为这些版本是从org\apache\cxf\cxf-parent\2.5.4\cxf-parent-2.5.4.pom
解决方案是迁移到与 JDK 1.8 兼容的新 org.apache.cxf 版本
关于build - CXF 构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27153044/