2013-05-30 5 views
1

Я использовал стандартную реализацию Sun JAXB, которая поставляется с Oracle JDK 1.7. К сожалению, у меня есть некоторые довольно сложные схемы XSD для работы, и я ударил то, что кажется ошибкой в ​​движке XSD для Java (описано в this SO post)., какую реализацию JAXB использовать?

Похоже, что возможно только обходное решение, и что еще хуже, я еще не смог применить конкретный обходной путь в моем индивидуальном случае. Однако более тревожным является то, что необходимо обходное решение для того, что, на мой взгляд, очень элементарное (одна схема XSD, ссылающаяся на элемент, определенный в другом).

Я знаю, по крайней мере, в двух других вариантах реализации JAXB:

ли кто-нибудь есть какие-либо понять, как они соотносятся друг с другом и с JAXB Солнца?

ответ

2

Примечание: Я EclipseLink JAXB (MOXy) свинца и член группы экспертов JAXB (JSR-222).

  • Apache Camel - Я считаю, что Apache Camel просто использует JAXB и не JAXB (JSR-222) реализация самого себя.
  • EclipseLink Moxy - Есть много причин для перехода к Moxy (XPath based mapping, е xternal mapping metadata, JSON-binding и т.д.). Но MOXy использует инструмент XML Schema to Java Compiler (XJC) из эталонной реализации JAXB, поэтому он не будет исправлять этот прецедент.
+1

Правильный Apache Camel использует API JAXB, например аннотации javax.xml.bind.annotation. По умолчанию из JDK часто бывает плохо. Вы можете загружать и использовать более новую версию JAXB, например, JARs находятся в центре maven. –

Смежные вопросы