2017-08-07 2 views
0

Le jar de dépendances ajouté au zip de l'assembly a la version "SNAPSHOT" ajoutée à son nom. Y at-il un moyen d'obtenir seulement version nombre de ${artifact.baseVersion} sans SNAPSHOT? Ceci est exécuté à l'intérieur de maven-assembly-plugin. Je voudrais la dépendance à la sortie comme parent-2.0.jar au lieu de parent-2.0-SNAPSHOT.jar.maven assembly plugin: supprime SNAPSHOT de la dépendance

assembly.xml

<dependencySets> 
     <dependencySet> 
      <outputDirectory>lib</outputDirectory> 
      <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}</outputFileNameMapping> 
      <includes> 
       <include>www.example.com:parent:jar:2.0-SNAPSHOT</include> 
      </includes> 
      <useProjectArtifact>false</useProjectArtifact> 
     </dependencySet> 
    </dependencySets> 
+0

Si vous faites une version de version ce sera fait ... mais vous avez actuellement qu'une version snapshot de sorte que le résultat est une version Snapshot ... I changerait l'inclure ne pas utiliser la version .... – khmarbaise

+0

oui, mais je ne peux pas changer cela car nous avons seulement des versions de SNAPSHOT. – ulab

+0

Si vous avez '-SNAPSHOT' dans votre version, vous n'avez pas de version du tout. SNAPSHOT ... – khmarbaise

Répondre

0

Il y a quelques méthodes de le faire en fonction de votre pipeline. Les versions plugin Maven peuvent être utilisés,

http://www.mojohaus.org/versions-maven-plugin/set-mojo.html

http://www.mojohaus.org/versions-maven-plugin/set-mojo.html#removeSnapshot

Une configuration comme cela le ferait,

  <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>versions-maven-plugin</artifactId> 
       <version>2.4</version> 
       <configuration> 
        <newVersion>${project.version}</newVersion> 
        <allowSnapshots>false</allowSnapshots>    
       </configuration> 
     </plugin> 

Je recommande l'envelopper dans un profile et activer seulement si nécessaire. Cela va mettre à jour le project.version avec dans le POM. Vous pouvez ensuite le renvoyer au dépôt, le laisser tel quel, etc.

Vous pouvez également consulter le plugin d'aide à la construction qui peut gérer les propriétés d'expressions régulières, etc. si le plugin de versions ne répond pas vos besoins.

http://www.mojohaus.org/build-helper-maven-plugin/usage.html#

+0

Cela fonctionne-t-il pour les artificats 'dependency' référés dans le plugin d'assembly? parce que je veux quitter la version de construction du projet avec 'SNAPSHOT' – ulab

0

Je ne peux pas trouver une solution simple. J'ai donc ajouté la nouvelle propriété ${client-version} et l'ai utilisée dans assmebly.xml.

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <client-version>2.0</client-version> 
</properties> 

assembly.xml

<outputFileNameMapping>${artifact.artifactId}-${client-version}.${artifact.extension}</outputFileNameMapping>