16

タイムスタンプ付きのスナップショット アーティファクトを含むリポジトリがあります。

依存関係を含むアセンブリを作成したいと思います。これはうまくいきます。ただし、アーティファクト名にはタイムスタンプが含まれています。したがって、アセンブリのみのファイル名からタイムスタンプを削除する方法を知りたいです。

私はこのdependencySetを使用しました:

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

しかし、バージョン シームには既にタイムスタンプが含まれています。1.1.1-20100323.071348-182の代わりに1.1.1-SNAPSHOTを取得する可能性はありますか?

maven-assembly-plugin のバージョン 2.2-beta-4 を使用しています。

4

2 に答える 2

25

に対して次のことを試していただけますかoutputFileNameMapping:

${artifactId}-${baseVersion}.${extension}

MASSEMBLY-67MASSEMBLY-91などの問題によると:

${baseVersion}-SNAPSHOT 命名を維持したい場合に使用すると、プラグインはタイムスタンプ-ビルド番号命名に使用する機能を保持します。${version}これは、アセンブリに含まれる正確なライブラリ バージョンを記述するのに役立ちます。

更新: OPからのフィードバックの後、正確な構文は次のとおりです(これについては完全にはわかりませんでした):

${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension}
于 2010-03-25T20:10:31.570 に答える
2

バージョン番号の付いたフォルダーを含むアセンブリ プラグインを使用してバンドルを構築しようとすると、同様の問題に直面しました (WSDL と XSD をパッケージ化しています)。

私が見つけた回避策は非常に簡単です。実際のバージョン番号をプロパティ (例: 1.0) に入れて、アセンブリ プラグインの bundle.xml ファイルで使用できるようにし、pom のバージョンを次のように設定します。

<version>${service.version}-SNAPSHOT</version>

このようにして、パッケージのコンテンツは SNAPSHOT マ​​ーカーの影響を受けません。特に、リリース時に変更されません。

于 2011-12-09T11:33:00.120 に答える