ビルド/集約pomを使用したマルチモジュールのmavenプロジェクトがあります。私のプロジェクトでは、バージョン番号が設定された共通の親 pom があり、すべての子モジュールが親バージョンを継承します (つまり、どの子 pom にもバージョン情報がありません)。ただし、ビルド pom には独自のバージョン番号があり、親 pom を継承しません。
Project
|- InfoJava
|- InfoWebApp
|- InfoMavenCommon (parent pom)
|- InfoBuild (build pom - may have a unique version number and does not inherit InfoMavenCommon)
|- InfoEar
プロジェクトのビルド バージョン (つまり、親バージョン) を更新しようとしています。親バージョンを更新することで、子モジュールの親へのすべての参照も更新する必要があります。元:
<parent>
<groupId>com.webinfo</groupId>
<artifactId>InfoMavenCommon</artifactId>
<version>3.9.1</version>
<relativePath>../InfoMavenCommon</relativePath>
</parent>
ただし、バージョン プラグインを適切に使用する方法がわかりません。これが機能することがわかった唯一の方法は、次を実行することです。
Project/InfoMavenCommon$ mvn versions:set -DnewVersion=3.9.0
親の pom バージョンを更新しますが、子モジュールに再帰しません。
Project/InfoMavenBuild$ mvn -N versions:update-child-modules
これは「正しい」ようには見えません.2つのステップであり、update-child-modulesを本来の方法で実際に使用していません。
どのモジュールからバージョンを呼び出す必要がありますか: 目標を設定しますか? 親とすべての子のバージョンを自動的に更新するワンステップ ソリューションはありますか?