2015-10-30 1 views
0

Le plugin d'assemblage Maven pour un projet multi-modules ne collecte pas tous les sous-modules.L'utilisation de l'assembly MavenAllReactorProjects dans le module enfant ne fonctionne pas

Voici la hiérarchie de mon projet (en termes de parent maven/enfant):

ss.parent (parent multi module) 
    |_ ss.a (parent multi module) 
     |_ ss.a.1 
     |_ ss.a.2 
    |_ ss.b (parent multi module) 
     |_ ss.b.2 
     |_ ss.b.2 
    |_ ss.assembly 

Le ss.parent/pom.xml contient:

<module>ss.a</module> 
<module>ss.b</module> 
<module>ss.assembly</module> 

Voici les art. assemblage/pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<parent> 
    <groupId>ss</groupId> 
    <artifactId>ss.parent</artifactId> 
    <version>1.0.0-SNAPSHOT</version> 
</parent> 
<artifactId>sis.assembly</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<packaging>pom</packaging> 
<description>Produces delivery for MOSS</description> 

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.6</version> 
      <configuration> 
       <descriptor>src/assembly/assembly.xml</descriptor> 
      </configuration> 
      <executions> 
       <execution> 
        <id>create-archive</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

<dependencies> 
    <dependency> 
     <groupId>ss</groupId> 
     <artifactId>ss.a</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
    </dependency> 
    <dependency> 
     <groupId>ss</groupId> 
     <artifactId>ss.b</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
    </dependency> 
</dependencies> 

assembly.xml:

<id>assembly</id> 
<formats> 
    <format>dir</format> 
</formats> 
<includeBaseDirectory>false</includeBaseDirectory> 
<moduleSets> 
    <moduleSet> 
     <useAllReactorProjects>true</useAllReactorProjects> 
     <includeSubModules>true</includeSubModules> 
     <includes> 
      <include>*:*</include> 
     </includes> 
     <binaries> 
      <outputDirectory>assembly</outputDirectory> 
      <unpack>false</unpack> 
     </binaries> 
    </moduleSet> 
</moduleSets> 

Ce que je pense à la suite est un assemly contenant:

  • ss.a.1.jar
  • ss.a.2.jar
  • ss.b.1.jar
  • ss.b.2.jar

MAIS, ce que j'ai c'est seulement ss.a.1.jar et ss.a.2.jar! Il semble que maven s'arrête juste après le premier multi module (c'est-à-dire ss.a).

Toute idée? Merci.

Répondre

0

Je trouve le problème :)

Il est que par défaut plugin ensemble maven sélectionne artefact sans classificateur (ou pas comme classificateur). En effet, le module ss.b produit des artefacts avec un classificateur qui n'en est pas un, c'est pourquoi il a été ignoré.

+0

Si vous avez trouvé une solution, veuillez accepter votre réponse –