2017-08-07 24 views
0

アセンブリジップに追加された依存関係ジャーナルには、その名前に "SNAPSHOT"という名前が追加されています。 versionの番号を${artifact.baseVersion}からSNAPSHOTに変更する方法はありますか?mavenアセンブリプラグイン:SNAPSHOTを依存関係から削除する

maven-assembly-pluginの内部で実行されます。依存関係をparent-2.0.jarのようにparent-2.0-SNAPSHOT.jarの代わりに出力したいと思います。

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

あなたはこれを行うことになるリリースバージョンを作る...しかし、結果はスナップショットのバージョンであるので、あなたは現在、唯一のスナップショットのバージョンをお持ちの場合は... Iバージョンを使用しないようにインクルードを変​​更します.... – khmarbaise

+0

はい、私はSNAPSHOTのリリースのみを持っているので変更できません。 – ulab

+0

あなたのバージョンに '-SNAPSHOT'があれば、リリースは全くありません。 – khmarbaise

答えて

0

あなたのパイプラインに応じて、これを行うためのいくつかの方法があります。プラグインMavenのバージョンは、このような構成は、それを行うだろう

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

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

、使用することができ、

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

私はprofileでそれを包むお勧めしますし、それだけをアクティブにしたいです必要な場合に。これにより、POMのproject.versionが更新されます。リポジトリにコミットしたり、そのまま残したりすることができます。

バージョンプラグインが満たされていない場合は、正規表現のプロパティなどを扱うことができるビルドヘルパープラグインを参照することもできますあなたの要望。

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

+0

これは、アセンブリプラグインで参照される '依存関係 'アーティファクトに対して機能しますか?私はプロジェクトを 'SNAPSHOT'でビルドしたままにしたいので – ulab

0

私は簡単な解決策を見つけることができません。そこで私は新しいプロパティー${client-version}を追加し、それを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>