メイビン:タイムスタンプファイル名のないスナップショットアーティファクトを含むアセンブリを作成するにはどうすればよいですか?
-
22-09-2019 - |
質問
タイムスタンプ付きのスナップショット アーティファクトを含むリポジトリがあります。
依存関係を含むアセンブリを作成したいと考えています。これはうまくいきます。ただし、アーティファクト名にはタイムスタンプが含まれています。それで、アセンブリのみのファイル名からタイムスタンプを削除するにはどうすればよいでしょうか。
これを使ったことがある 依存関係セット:
<outputFileNameMapping>${artifact.artifactId}-${artifact.version}.${artifact.extension}</outputFileNameMapping>
ただし、バージョンにはすでにタイムスタンプが含まれています。それで、それを手に入れるチャンスはありますか? 1.1.1-スナップショット の代わりに 1.1.1-20100323.071348-182?
私は maven-assembly-plugin のバージョン 2.2-beta-4 を使用しています。
解決
以下のことをお試しいただけますか outputFileNameMapping
:
${artifactId}-${baseVersion}.${extension}
使用する
${baseVersion}
-SNAPSHOT 命名を保持したい場合、プラグインは次の機能を保持します。${version}
timestamp-buildnumber の命名用。これは、アセンブリに含まれる正確なライブラリのバージョンを説明するのに役立ちます。
アップデート: OP からのフィードバック後の正確な構文は次のとおりです (これについては完全にはわかりませんでした)。
${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
他のヒント
私は同様の問題に直面します。
私が見つけた回避策は、私が組み立てプラグインのbundle.xmlファイル内で使用できるようにされ、(例えば1.0)プロパティに実際のバージョン番号を入れて、非常に簡単で、POMバージョンのに設定します:
<version>${service.version}-SNAPSHOT</version>
この方法では、私のパッケージの内容は、リリースを行うとき、特にそれが修正されていない、SNAPSHOTマーカーによって影響されない。