build - CXF 构建错误

标签 build jaxb cxf build-process

我正在尝试构建 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/

相关文章:

java - 如何使用 ant 为现有项目生成 javadoc?

Java 1.6 升级

java - CXF 和独立 Web 服务

java - 为什么会出现握手失败 (Java SSL)

build - 将settings.gradle应用到具有非标准构建名称的Gradle构建中

delphi - dcc32警告UnloadProcs.pas(59):W1035函数“GetType”的返回值可能未定义

c++ - CMake add_subdirectory 不调用子 CMakeLists.txt

java - JAXB:获取标签作为字符串

java - 如何将没有父标记的 xml 字段映射到 java 列表?

java - 带有外部 Web 服务监控的 Spring Integration 应用程序