Préfixer les classes générées par JAXB
J'ai cette Maven "tâche" pour générer des classes Java à partir d'un fichier XSD à l'aide de JAXB.
<!-- XML to Java classes -->
<plugin>
<groupId>com.sun.tools.xjc.maven2</groupId>
<artifactId>maven-jaxb-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<generatePackage>nl.compay.service</generatePackage>
<schemaDirectory>src/main/webapp/compay</schemaDirectory>
</configuration>
</plugin>
Pour un type XSD "Utilisateur", il génère une classe nommée "Utilisateur" (duh). Cependant, j'ai aussi une entité JPA appelé "Utilisateur" (bien que dans un package différent).
Puis-je changer la configuration XML ci-dessus pour laisser JAXB préfixe, les classes générées par quelque chose comme "XML"?
source d'informationauteur Bart van Heukelom
Vous devez vous connecter pour publier un commentaire.
C'est une exigence commune. Vous pouvez le faire en fournissant un supplément de JAXB de liaison de fichier pour personnaliser la façon dont JAXB se traduit par le Schéma type des noms en Java de la classe des noms.
Ces fichiers normalement fin en extension ".xjb". Vous avez besoin d'en créer un pour votre schéma, par exemple:
Après vous avez fait cela, déposez le xjb fichier quelque part dans votre répertoire de construction et de dire à Maven d'en faire usage lors de la traduction:
Et voici un conseil pour la route: si vous êtes dans un chemin contient des espaces (par exemple, "Documents and Settings\utilisateur\projet") puis JAXB vais tomber avec d'étranges erreurs.