2017-08-07 3 views
0

Die Abhängigkeit Assembly zip hinzugefügt Assembler hat "SNAPSHOT" Version zu seinem Namen hinzugefügt. Gibt es eine Möglichkeit, nur version Nummer von ${artifact.baseVersion} ohne SNAPSHOT zu bekommen?Maven Assembly Plugin: Entfernen SNAPSHOT aus Abhängigkeit

Dies wird innerhalb maven-assembly-plugin ausgeführt. Ich möchte, dass die Abhängigkeit wie parent-2.0.jar anstelle von parent-2.0-SNAPSHOT.jar ausgegeben wird.

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

Wenn Sie eine Release-Versionen machen dies geschehen wird ... aber Sie haben derzeit nur eine Snapshot-Version so ergibt sich eine SNAPSHOT Version ist ... I würde das include ändern, um nicht die Version zu verwenden .... – khmarbaise

+0

ja, aber ich kann das nicht ändern, da wir nur SNAPSHOT Releases haben. – ulab

+0

Wenn Sie '-SNAPSHOT' in Ihrer Version haben, haben Sie keine Veröffentlichungen überhaupt nur SNAPSHOT's ... – khmarbaise

Antwort

0

Es gibt ein paar Methoden, dies auf Ihre Pipeline abhängig machen. Die Maven-Versionen können Plugin verwendet werden,

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

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

Eine Konfiguration wie diese es tun würde,

  <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> 

Ich würde empfehlen, es in einem profile Einwickeln und aktivieren sie nur wenn benötigt. Dies wird die project.version mit in der POM aktualisieren. Sie können es dann zurück in den Repo commit, lassen Sie es wie es ist etc. etc.

Sie können auch auf das Build-Helper-Plugin, die Regex-Eigenschaften usw., wenn das Versionen-Plugin nicht gerecht zu werden Deine Bedürfnisse.

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

+0

Funktioniert das für die 'Assembly' Artificats, auf die im Assembly-Plugin verwiesen wird? weil ich die Projektversion mit 'SNAPSHOT' verlassen möchte – ulab

0

kann ich nicht eine einfache Lösung finden. Also habe ich die neue Eigenschaft ${client-version} hinzugefügt und sie in assmebly.xml verwendet.

<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> 
Verwandte Themen