【问题标题】:which JAXB implementation to use?使用哪个 JAXB 实现?
【发布时间】:2013-05-26 10:49:36
【问题描述】:

我一直在使用 Oracle JDK 1.7 附带的默认 Sun JAXB 实现。 不幸的是,我有一些相当复杂的 XSD 模式可以使用,而且我遇到了 XSD 到 Java 引擎中的一个错误(在this SO post 中描述)。

似乎只有一种解决方法是可能的,更糟糕​​的是,我还无法在我的个人情况下应用特定的解决方法。然而,更令人不安的是,对于我认为非常基本的情况(一个 XSD 架构引用另一个定义的元素),应该需要一种解决方法。

我知道至少有两个其他的 JAXB 实现:

有没有人知道它们如何相互比较以及如何与 Sun 的 JAXB 进行比较?

【问题讨论】:

    标签: jaxb apache-camel moxy


    【解决方案1】:

    注意:我是EclipseLink JAXB (MOXy) 领导,也是JAXB (JSR-222) 专家组的成员。

    • Apache Camel - 我相信 Apache Camel 只是利用 JAXB 而不是 JAXB (JSR-222) 实现本身。
    • EclipseLink MOXy - 切换到 MOXy 的原因有很多(XPath based mapping、external mapping metadataJSON-binding 等)。但 MOXy 使用 JAXB 参考实现中的 XML Schema to Java Compiler (XJC) 工具,因此无法修复此用例。

    【讨论】:

    • 正确的 Apache Camel 只使用 JAXB API,例如 javax.xml.bind.annotation 注释。 JDK 的默认设置通常是错误的。您可以下载并使用更新版本的 JAXB,例如 JAR 位于 maven Central 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 2011-03-06
    • 1970-01-01
    相关资源
    最近更新 更多