4

プロジェクトのバージョン番号を、通常のリリース バージョニングの次の形式にしたい:

<version>1.0-SNAPSHOT</version>
<version>1.0.1-SNAPSHOT</version>
......

一方、以下のようにマージされたすべての変更に対してビルドされたアーティファクトが必要です。

<version>1.0-SNAPSHOT-${timestamp}</version>

Mavenプロファイルを使用してこれを達成できますか? 何かのようなもの:

<profiles>
    <profile>
        <id>normal</id>
        <version>1.0-SNAPSHOT<version>
    </proifle>
    <profile>
        <id>build</id>
        <version>1.0-SNAPSHOT-${timestamp}<version>
    </proifle>
</profiles>

私はそれを次のように構築できるように:

mvn package -P normal  // this gives me artifact-1.0-SNAPSHOT.jar
or
mvn package -P build     // this gives me artifact-1.0-SNAPSHOT-${timestamp}.jar 

プロファイルがこの問題を解決できる場合、他のアプローチは何ですか?

4

2 に答える 2

9

このアプローチはお勧めしませんが、このタスクにはプロファイルを使用できます。方法は次のとおりです。

<version>${projectVersion}</version>
...
<profiles>
    <profile>
        <id>normal</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <projectVersion>1.0-SNAPSHOT</projectVersion>
        </properties>
    </profile>
    <profile>
        <id>build</id>
        <properties>
            <projectVersion>1.0-SNAPSHOT-${timestamp}</projectVersion>
        </properties>
    </profile>
</profiles>
于 2012-05-09T10:55:12.707 に答える
2

Builder Numberプラグインを使用するか、組み込みのタイムスタンププロパティを評価します。とにかく、SNAPSHOTは常に最新である必要があるため、このアプローチはお勧めしません。

于 2012-05-09T11:20:29.567 に答える