IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Maven Java Discussion :

Maven plugin Jaxb : avoir plusieurs packages destination


Sujet :

Maven Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Par défaut Maven plugin Jaxb : avoir plusieurs packages destination
    Bonjour,

    Je souhaite créer à partir de plusieurs xsd les classes java grâce au plugin http://mojo.codehaus.org/jaxb2-maven-plugin/

    j'ai définit ce plugin dans mon pom.xml :

    <build>
    <plugins>
    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxb2-maven-plugin</artifactId>
    <executions>
    <execution>
    <goals>
    <goal>xjc</goal>
    </goals>
    </execution>
    </executions>
    <configuration>
    <schemaDirectory>${basedir}/src/main/resources/xsd</schemaDirectory>
    <packageName>com.test.uc</packageName>
    <outputDirectory>${basedir}/target/generated-source</outputDirectory>
    <includes>
    <include>**/*.java</include>
    </includes>
    </configuration>
    </plugin>
    </plugins>
    </build>
    J'ai plusieurs xsd dans le répertoire "/src/main/resources/xsd" et lorsque j'exécute la commande mvn jaxb2:xjc il me crée mes classes dans le même package.

    Est ce possible de pourvoir définir plusieurs packageName en fonction des xsd.

    Merci d'avance de vos réponses.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 350
    Par défaut
    Oui, c’est tout à fait possible.

    Voici un exemple que j’utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>jaxb2-maven-plugin</artifactId>
                    <version>${jaxb2.maven.plugin.version}</version>
                    <executions>
                        <execution>
                            <id>tusarv1</id>
                            <configuration>
                                <schemaDirectory>${basedir}/src/main/resources/com/thalesgroup/dtkit/tusar/model/xsd
                                </schemaDirectory>
                                <packageName>com.thalesgroup.dtkit.tusar.model</packageName>
                                <schemaFiles>tusar-1.xsd</schemaFiles>
                                <staleFile>${project.build.directory}/generated-sources/jaxb/tusarv1/.staleFlag.</staleFile>
                                <clearOutputDir>false</clearOutputDir>
                            </configuration>
                            <goals>
                                <goal>xjc</goal>
                            </goals>
                        </execution>
     
                        <execution>
                            <id>tusarv2</id>
                            <configuration>
                                <schemaDirectory>${basedir}/src/main/resources/com/thalesgroup/dtkit/tusar/model/xsd
                                </schemaDirectory>
                                <schemaFiles>tusar-2.xsd</schemaFiles>
                                <staleFile>${project.build.directory}/generated-sources/jaxb/tusarv2/.staleFlag.</staleFile>
                                <clearOutputDir>false</clearOutputDir>
                            </configuration>
                            <goals>
                                <goal>xjc</goal>
                            </goals>
                        </execution>
     
                        <execution>
                            <id>tusarv3</id>
                            <configuration>
                                <schemaDirectory>${basedir}/src/main/resources/com/thalesgroup/dtkit/tusar/model/xsd
                                </schemaDirectory>
                                <schemaFiles>tusar-3.xsd</schemaFiles>
                                <staleFile>${project.build.directory}/generated-sources/jaxb/tusarv3/.staleFlag.</staleFile>
                                <clearOutputDir>false</clearOutputDir>
                            </configuration>
                            <goals>
                                <goal>xjc</goal>
                            </goals>
                        </execution>
     
                        <execution>
                            <id>tusarv4</id>
                            <configuration>
                                <schemaDirectory>${basedir}/src/main/resources/com/thalesgroup/dtkit/tusar/model/xsd
                                </schemaDirectory>
                                <schemaFiles>tusar-4.xsd</schemaFiles>
                                <staleFile>${project.build.directory}/generated-sources/jaxb/tusarv4/.staleFlag.</staleFile>
                                <clearOutputDir>false</clearOutputDir>
                            </configuration>
                            <goals>
                                <goal>xjc</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    J’utilise plusieurs exécution et chaque bloc d’exécution définit:
    - Où trouver les XSD à traiter ?
    - Quelles sont les XSD à traiter ?
    - De ne pas supprimer le précédent output comme il y plusieurs exécutions de génération qui sont toutes dans ${project.build.directory}/generated-sources/jaxb
    - Un fichier Stale unique pour indiquer que chaque bloc de génération est indépendant des autres

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 53
    Par défaut
    merci beaucoup de la réponse.
    par contre ça ne marche pas avec ce pom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <build>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>jaxb2-maven-plugin</artifactId>
          <version>1.3</version>
          <executions>
            <execution>
              <id>uc-config</id>
                <configuration>
                  <schemaDirectory>${basedir}/src/main/resources/xsd</schemaDirectory>
                  <packageName>com.test.uc</packageName>
                  <schemaFiles>uc.xsd</schemaFiles>
                  <staleFile>${project.build.directory}/generated-sources/jaxb/uc/.staleFlag.</staleFile>       
                </configuration>
                 <goals>
                   <goal>xjc</goal>
                 </goals>
                </execution>
    	  </executions>
            </plugin>
       </plugins>
    </build>
    par contre ça marche avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <build>
      <plugins>
        <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>jaxb2-maven-plugin</artifactId>
           <version>1.3</version>
           <executions>
             <execution>
                <id>uc-config</id>
                <goals>
                  <goal>xjc</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <schemaDirectory>${basedir}/src/main/resources/xsd</schemaDirectory>
              <packageName>com.test.uc</packageName>
              <schemaFiles>uc.xsd</schemaFiles>
              <staleFile>${project.build.directory}/generated-sources/jaxb/uc/.staleFlag.</staleFile>
           </configuration>
         </plugin>
       </plugins>
    </build>
    la différence, c'est l'emplacement de la configuration.

    Voici l'erreur lorsque j'xécute : mvn jaxb2:xjc
    [INFO] ---------------------------------------------------------
    [INFO] Building UC Config
    [INFO] task-segment: [clean, jaxb2:xjc]
    [INFO] ---------------------------------------------------------
    [INFO] [clean:clean {execution: default-clean}]
    [INFO] Deleting C:\Java\Projects\UC\code\ll-uc-config\target
    [INFO] [jaxb2:xjc {execution: default-cli}]
    [INFO] Generating source...
    [INFO] ---------------------------------------------------------
    [ERROR] BUILD ERROR
    [INFO] ---------------------------------------------------------
    [INFO] no schemas has been found
    [INFO] ---------------------------------------------------------
    [INFO] For more information, run Maven with the -e switch
    [INFO] ---------------------------------------------------------
    [INFO] Total time: < 1 second
    [INFO] Finished at: Wed Jan 05 14:43:08 CET 2011
    [INFO] Final Memory: 10M/109M
    [INFO] ---------------------------------------------------------
    Merci d'avance de votre aide

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/07/2010, 10h06
  2. Réponses: 2
    Dernier message: 25/05/2010, 11h04
  3. Réponses: 13
    Dernier message: 25/01/2005, 10h05
  4. [Compilation] compiler plusieurs packages
    Par dzincou dans le forum ANT
    Réponses: 10
    Dernier message: 08/06/2004, 16h08
  5. [eclipse][plugin] Comment avoir une fenêtre avec focus
    Par relivio dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 07/04/2004, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo