分類器を使用することをお勧めします。
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>1.0</version>
<properties>
<!-- default classifier is empty -->
<my.project.classifier></my.project.classifier>
</properties>
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<classifier>${my.project.classifier}</classifier>
</configuration>
<executions>...</executions>
</plugin>
</plugins>
</build>
と
mvn package -Dmy.project.classifier=NIGHTLY-2012-04-26_02-30
Mavenのドキュメントには分類子について書かれています:
分類子:座標上に5番目の要素が見つかることがあります。これが、分類子です。後で分類子にアクセスしますが、今のところ、これらの種類のプロジェクトがgroupId:artifactId:packaging:classifier:versionとして表示されていることを知っていれば十分です。
と
分類子を使用すると、同じPOMから作成されたものの、内容が異なるアーティファクトを区別できます。アーティファクト名のバージョン番号の直後に(存在する場合)追加されるのは、オプションの任意の文字列です。この要素の動機として、たとえば、JRE 1.5を対象とするアーティファクトを提供すると同時に、JRE1.4を引き続きサポートするアーティファクトを提供するプロジェクトについて考えてみます。最初のアーティファクトには分類子jdk15を装備し、2番目のアーティファクトにはjdk14を装備して、クライアントがどちらを使用するかを選択できるようにすることができます。
分類子のもう1つの一般的な使用例は、プロジェクトのメインアーティファクトにセカンダリアーティファクトをアタッチする必要があることです。Maven中央リポジトリを参照すると、分類子のソースとjavadocが、パッケージ化されたクラスファイルとともにプロジェクトのソースコードとAPIドキュメントをデプロイするために使用されていることがわかります。