12

開発中、maven モジュールには SNAPSHOT バージョン (1.0-SNAPSHOT など) を使用します。

たとえば、親モジュールの Maven 構成:

<groupId>com.mycomp.basemodule</groupId>
<artifactId>base-module</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>base-module</name>
<modules>       
    <module>sub-module1</module>        
    <module>sub-module2</module>        
    <module>sub-module3</module>        
    <module>sub-module4</module>        

</modules>

たとえば、子モジュールの Maven 構成:

サブモジュール-1:

<parent>
     <groupId>com.mycomp.basemodule</groupId>
      <artifactId>base-module</artifactId>
      <version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.mycomp.sub-module1</groupId>
<artifactId>sub-module1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>sub-module1</name>

また、他のサブモジュール (2、3、4) についても同じ構成を検討してください。

プロジェクト/パッチをリリースする際に、この SNAPSHOT バージョンを実際のリリース バージョンに変更する必要があります。

バージョンを変更するには、大雑把な方法が 1 つあります。親モジュールとすべての子モジュールのすべての pom.xml に移動し、SNAPSHOT バージョンをリリース バージョンに変更できます。

すべての pom.xml ファイルを更新する必要がないように、この SNAPSHOT バージョンを共通の場所でリリース バージョンに変更する他のベスト プラクティスはありますか?

4

2 に答える 2

10

maven-release pluginMavenで意図されている方法で問題を解決するために使用する必要があると思います。参照: http://maven.apache.org/guides/mini/guide-release.html

ドキュメントが言うように:

maven-release プラグインの主な目的は、当面の開発チームの外にプロジェクト成果物をリリースするための標準メカニズムを提供することです。プラグインは、リリースを作成し、それに応じてプロジェクトの SCM を更新するための基本的な機能を提供します。

更新: 質問があるのはあなたが最初ではないようです。次を参照してください: Maven バージョン管理のベスト プラクティス 回答はかなり完全なようです。

于 2013-01-30T14:00:20.747 に答える
4

より簡単な方法: maven-version-plugin でバージョンを更新し、独自の方法でリリースを準備します。

于 2013-10-26T05:21:16.630 に答える