Résoudre JAXB “name collision dans la ObjectFactory classe” problème avec personnalisation
De l'exécution d'un "xjc de la commande" sur ces fichiers xsd renvoie une Two declarations cause a collision in the ObjectFactory class
car il y a 2 éléments nommés "Échelle" et "échelle".
Selon cette page, ce problème peut être résolu par la personnalisation des fichiers xsd avec <factoryMethod>
.
Savez-vous comment faire? Avez-vous un exemple de liaison de fichier pour le faire?
Excellente réponse là: lunatech-research.com/archives/2008/10/17/...
Lien ci-dessus ne dispose pas actuellement de résoudre. Wayback Machine version est ici: web.archive.org/web/20090221124958/http://lunatech-research.com/...
Lien ci-dessus ne dispose pas actuellement de résoudre. Wayback Machine version est ici: web.archive.org/web/20090221124958/http://lunatech-research.com/...
OriginalL'auteur julien | 2011-09-15
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser les liaisons de la balise. Définir l'attribut schemaLocation à l'emplacement d'un fichier xsd. Les balises enfants, schemaBindings et paquet, puis de définir un nouveau paquet de noms pour que xsd. Ci-dessous le fichier de liaisons que j'ai utilisé avec xjc il y a un moment. Si elle fonctionne encore, une grande. Si pas, exemple =).
Votre syntaxe fonctionne très bien
OriginalL'auteur Teddy Yueh
Avez-vous essayez -B-XautoNameResolution ? Il pourrait ne pas toujours faire l'affaire, mais il vaut mieux donner un essai avant d'écrire une liaison de fichier.
son appelé
-XautoNameResolution
dans 2.1.10 - j'ai eu le même problème. Il fonctionne comme voulu, si vous laissez le-B
où avez-vous trouvé cela? Été à la recherche pour elle, rien que dans les docs
OriginalL'auteur Murat
Une solution à votre problème est d'utiliser l'option-p pour spécifier séparer les noms de paquets pour chaque fichier xsd.
OriginalL'auteur sweetfa
Bien, après un long temps d'essayer, à la suite de la configuration a fonctionné pour moi. Je suis à l'aide de jaxb2-maven-plugin 2.3.1 et une liaison séparée fichier:
pom.xml
bindings.xml
Veuillez noter que nous n'avons pas besoin de spécifier
packageName
à l'intérieur depom.xml
au lieu de cela, nous pouvons déclarer en utilisant<jxb:schemaBindings>
à l'intérieur de liaisons.xjb fichier qui est beaucoup plus facile comme mentionné ici.OriginalL'auteur agpt