2013-05-30 1 views
1

J'ai utilisé l'implémentation Sun JAXB par défaut fournie avec Oracle JDK 1.7. Malheureusement, j'ai certains schémas XSD assez complexes pour travailler avec et j'ai frappé ce qui semble être un bug dans le moteur XSD to Java (décrit dans this SO post).quelle implémentation JAXB utiliser?

Il semble que seule une solution de contournement est possible et, pire encore, je n'ai pas encore été en mesure d'appliquer la solution de contournement particulière dans mon cas individuel. Ce qui est plus troublant, cependant, c'est qu'une solution de contournement devrait être requise pour ce qui est à mon avis un cas très élémentaire (un schéma XSD référençant un élément défini dans un autre).

Je sais d'au moins deux autres implémentations JAXB:

Est-ce que quelqu'un a des idées sur la façon dont ceux-ci comparent les uns contre les autres et contre la JAXB de Sun?

Répondre

2

Note: Je suis le chef EclipseLink JAXB (MOXy) et un membre du groupe d'experts JAXB (JSR-222).

  • Apache Camel - Je crois que Apache Camel tire parti juste JAXB et n'est pas une implémentation JAXB (JSR-222) lui-même.
  • EclipseLink Moxy - Il y a beaucoup de bonnes raisons de passer à Moxy (XPath based mapping, e xternal mapping metadata, JSON-binding, etc.). Mais MOXy utilise l'outil XJC (XML Schema to Java Compiler) de l'implémentation de référence JAXB afin qu'il ne corrige pas ce cas d'utilisation.
+1

Corriger Apache Camel utilise simplement l'API JAXB, par exemple les annotations javax.xml.bind.annotation. La valeur par défaut du JDK est souvent boguée. Vous pouvez télécharger et utiliser une version plus récente de JAXB, par exemple les fichiers JAR sont dans Maven Central. –

Questions connexes