Comment personnaliser package-info.java généré par JAXB2
Je suis en utilisant
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
pour générer des classes Java à partir de fichiers XSD.
J'ai ajouté
<args>-npa</args>
donc, le plugin ne génère pas plus package-info.java mais avec cette option, la java généré classes sont différentes (espace de noms est ajouté à chaque élément).
Donc, je ne peut pas personnaliser l'espace de noms à l'aide de package-info.java.
Comment puis-je utiliser un espace de noms personnalisé sans modifier manuellement les fichiers générés?
OriginalL'auteur ovi2ut | 2012-01-12
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le namespace prefix plugin de jaxb2-commune projet (avertissement : je l'ai écrit) :
https://github.com/Siggen/jaxb2-namespace-prefix
C'est un xjc pluging qui permet de définir l'espace de noms -> préfixe mappages dans le bindings.xml fichier :
Qui aura les résultats dans la suite de package-info.java fichier généré (l'esprit de la ajouté XmlNs annotation) :
Votre pom.xml ressemblerait à :
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.ech.ch/xmlns/eCH-0007/3"
à@javax.xml.bind.annotation.XmlSchema(namespace = ""
? Comment peut-on le faire?Parfait, merci!
si vous modifiez l'espace de noms xml, vous sont en train de changer la définition même de votre XSD : même si les structures xml resteraient identiques, ils ne seraient pas compatibles. Si vous avez besoin de le faire, pourquoi ne pas modifier le XSD lui-même ?
Quelqu'un sait-il si la même chose peut être réalisé avec la jaxws-maven-plugin?
pour jaxws-maven-plugin
-B-Xnamespace-prefix
.OriginalL'auteur Siggen
Vous pouvez personnaliser l'espace de noms par des directeurs de JAX-B pour générer le
package-info.java
et de définir l'espace de noms cible nécessaire dans votre XSD.OriginalL'auteur Dror B