2012-06-13 1 views
0

J'ai une question selon les plugins jaxb2 pour maven. Je veux générer des sources à partir du schéma XSD. Normalement, si je lance xjc de xjc de ligne de commande génère toutes les sources en fonction de leurs espaces de noms (comme noyau: AccountType à noyau /AccountType.java etc.)Jaxb 2 Maven Plugin - comment rendre maven respect des espaces de noms XSD?

cmd> xjc PublEnvlp.xsd 

Je veux utiliser même fonction en utilisant certains des plugins maven mais il crée toutes les classes java dans un répertoire donc il y a des conflits de duplication. Existe-t-il un drapeau, un plugin, une fonctionnalité, ... pour que maven fonctionne de la même manière que la commande xjc de la ligne de commande? J'utilise le code ci-dessous dans maven:

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>jaxb2-maven-plugin</artifactId> 
<version>1.3.1</version> 
<executions> 
    <execution> 
     <id>xjc</id> 
     <goals> 
      <goal>xjc</goal> 
     </goals> 
     <configuration> 
      <packageName>package.name</packageName> 
      <schemaDirectory>src/main/resources/DataArchitecture/XML/RDF/Physical_Xml</schemaDirectory> 
      <forceRegenerate>true</forceRegenerate> 
      <verbose>true</verbose> 
     </configuration> 
    </execution> 
</executions> 

Répondre

0

Essayez sans <packageName>package.name</packageName>, il faut les mettre dans les sous-répertoires appropriés.

Edit: vous pourriez avoir plus de chance avec le org.jvnet.jaxb2.maven2:maven-jaxb2-plugin

+0

merci pour votre réponse. Malheureusement, c'est toujours la même chose :( –

+0

Avez-vous essayé sans packageName et un "package mvn propre"? – khmarbaise

0

maven-plugin-jaxb2 et ce XJC invoque respecte les espaces de noms. Vous pouvez utiliser des liaisons pour personnaliser les noms de paquets, mais même sans cela, vous devriez obtenir des noms de paquets basés sur des espaces de noms. Vous avez probablement un problème ailleurs.

Questions connexes