2010-05-02 1 views
16

J'ai configuré l'assemblage suivant:Le plugin maven assembly n'utilise pas le nom final pour l'installation avec attach = true?

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.2-beta-5</version> 
      <executions> 
       <execution> 
        <id>${project.name}-test-assembly</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
        <configuration> 
         <appendAssemblyId>false</appendAssemblyId> 
         <finalName>${project.name}-test</finalName> 
         <filters> 
          <filter>src/assemble/test/distribution.properties</filter> 
         </filters> 
         <descriptors> 
          <descriptor>src/assemble/distribution.xml</descriptor> 
         </descriptors> 
         <attach>true</attach> 
        </configuration> 
       </execution> 
       <execution> 
        <id>${project.name}-prod-assembly</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
        <configuration> 
         <appendAssemblyId>false</appendAssemblyId> 
         <finalName>${project.name}-prod</finalName> 
         <filters> 
          <filter>src/assemble/prod/distribution.properties</filter> 
         </filters> 
         <descriptors> 
          <descriptor>src/assemble/distribution.xml</descriptor> 
         </descriptors> 
         <attach>true</attach> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

Ce produit deux fichiers zip:

  • distribution-prod.zip
  • distribution-test.zip

Mon attente pour la propriété attach = true est, que les deux fichiers zip sont installés avec le nom donné dans pr operty finalName. Mais le résultat est, un seul fichier est installé (attaché) à l'artefact. Le protocole Maven est:

  • distrib-0.1-SNAPSHOT.zip
  • distrib-0.1-SNAPSHOT.zip

Le plugin utilise l'artefact-id au lieu de la propriété finalName! Est-ce un bug?

La dernière installation est en train d'écraser la première. Que puis-je faire pour installer ces deux fichiers avec des noms différents?

Merci pour votre enquête. Roland

Répondre

19

La dernière installation est en train d'écraser la première. Que puis-je faire pour installer ces deux fichiers avec des noms différents?

Comme prévu (je ne sais pas s'il s'agit d'un bug ou non, mais c'est comme ça que fonctionne le plugin d'assembly). Pour éviter cela, vous devrez définir les propriétés appendAssemblyId à true et, pour obtenir un résultat équivalent, pour changer le finalName à ${project.name} et la assemby id-test et prod (à savoir utiliser deux descripteurs de montage). Quelque chose comme ceci:

<build> 
    <plugins> 
    <plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <version>2.2-beta-5</version> 
     <executions> 
     <execution> 
      <id>${project.name}-test-assembly</id> 
      <phase>package</phase> 
      <goals> 
      <goal>single</goal> 
      </goals> 
      <configuration> 
      <appendAssemblyId>true</appendAssemblyId> 
      <finalName>${project.name}</finalName> 
      <filters> 
       <filter>src/assemble/test/distribution.properties</filter> 
      </filters> 
      <descriptors> 
       <descriptor>src/assemble/distribution-test.xml</descriptor> 
      </descriptors> 
      </configuration> 
     </execution> 
     <execution> 
      <id>${project.name}-prod-assembly</id> 
      <phase>package</phase> 
      <goals> 
      <goal>single</goal> 
      </goals> 
      <configuration> 
      <appendAssemblyId>true</appendAssemblyId> 
      <finalName>${project.name}</finalName> 
      <filters> 
       <filter>src/assemble/prod/distribution.properties</filter> 
      </filters> 
      <descriptors> 
       <descriptor>src/assemble/distribution-prod.xml</descriptor> 
      </descriptors> 
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 

distribution-test.xml et distribution-prod.xml déclarer l'ensemble idtest et prod respectivement.

+0

A travaillé comme un charme (n'a pas essayé le code, mais le principe) –

Questions connexes