2009-11-14 3 views
6

J'utilise Maven 2.0.9 pour construire un projet multi-modules. J'ai défini le plugin d'assemblage dans mon pom parent. Je peux faire construire mes assemblages en utilisantProjet Multi Module - Plugin d'assemblage

mvn install assembly:assembly 

Cette commande exécute les tests deux fois, une fois pendant la phase d'installation et une autre pendant l'assemblage. J'ai essayé d'assembler: seul mais il y a une erreur. Toute aide pour faire construire mes assemblées sans faire deux fois les tests est très appréciée.

+0

S'il vous plaît fournir l'erreur. Sans cela, il est difficile de dire quoi que ce soit. –

Répondre

7

Si vous appelez le module d'assemblage, Maven crée le projet en utilisant le cycle de vie normal, jusqu'à la phase package. Donc, lorsque vous exécutez:

mvn install assembly:assembly 

vous dites en fait Maven pour exécuter quelques choses deux fois et cela inclut la phase de test que vous pouvez voir dans le documentation du cycle de vie par défaut.

Pour éviter cela, pensez à exécuter seulement:

mvn assembly:assembly 

ou lier le plug-in sur un cycle de vie de construction de projet:

<project> 
    ... 
    <build> 
    ... 
    <plugins> 
     <plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <configuration> 
      ... 
     </configuration> 
     <executions> 
      <execution> 
      <id>make-assembly</id> <!-- this is used for inheritance merges --> 
      <phase>package</phase> <!-- append to the packaging phase. --> 
      <goals> 
       <goal>single</goal> <!-- goals == mojos --> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     ... 
</project> 
+0

Hé, Pascal Thivent: Votre réponse m'a aidé à comprendre les différences entre l'assemblage d'installation mvn: l'assemblage et l'assemblage mvn: l'assemblage. Pouvez-vous m'aider à comprendre les différences entre les assemblages mvn: assembly et mvn package assembly: assembly? – Patricia

1

Je pense que le message d'erreur est trompeur, il vous propose besoin d'exécuter la phase "package" dans l'appel SAME maven en tant qu'invocation du plugin assembly lui-même.

Avez-vous essayé "mvn package assembly: assembly" ou "mvn install assembly: assembly"? Fonctionne sous Linux, JDK 1.6.0_16, Maven 2.2.1, Assembly Plugin 2.2-beta-4.

+0

L'extrait POM suggéré ci-dessus (plugin d'assembly de liaison à la phase 'ackage) doit fonctionner de la même manière, gardez simplement à l'esprit que vous n'avez pas besoin d'invoquer explicitement le plugin d'assembly sur la ligne de commande. Un 'package mvn' (ou 'mvn install') créera aussi automatiquement l'assemblage. Je ne sais pas si j'ai déjà utilisé le plugin d'assemblage de cette façon. Je l'invoque généralement explicitement parce que je me fiche souvent de l'assemblage généré. – JavaGuy

+0

J'ai attaché le module d'assemblage pour empaqueter ou installer la phase, l'installation de RAM mvn ou le paquet de mvn. Toujours la même erreur. Cela se produit uniquement dans un projet multi-modules. – user209947

Questions connexes