我一直在使用 Oracle JDK 1.7 附带的默认 Sun JAXB 实现。 不幸的是,我需要使用某些相当复杂的 XSD 模式,并且我遇到了 XSD 到 Java 引擎中的一个错误(如 this SO post 中所述)。
看来只有一种解决方法是可能的,更糟糕的是我还无法在我的个人案例中应用特定的解决方法。然而,更令人不安的是,对于我认为非常基本的情况(一个 XSD 架构引用另一个 XSD 架构中定义的元素),应该需要一种解决方法。
我至少知道另外两个 JAXB 实现:
有人可以深入了解它们之间以及与 Sun 的 JAXB 之间的比较吗?
最佳答案
注意:我是EclipseLink JAXB (MOXy) JAXB (JSR-222) 的领导者和成员专家组。
- Apache Camel - 我相信 Apache Camel 只是利用 JAXB,而不是 JAXB (JSR-222) 实现本身。
- EclipseLink MOXy - 切换到 MOXy 有很多重要原因( XPath based mapping 、 e xternal mapping metadata 、 JSON-binding 等)。但 MOXy 使用 JAXB 引用实现中的 XML Schema to Java Compiler (XJC) 工具,因此它无法修复此用例。
关于jaxb - 使用哪个 JAXB 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16843327/