さまざまなモジュール バージョンに多くの依存関係を持つマルチモジュール プロジェクトがあります。現時点では、バージョンはハードコードされており、手動で変更する必要があります。そこで、それらすべてをプロパティ ファイルに入れ、プロジェクトのビルド中にそこからプロパティ値を取得することにしました。
これが私がそれをやろうとする方法です:
ルート pom.xml
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>./version.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
ファイル version.properties
module1.version=1.1
module2.version=1.8
module3.version=5.4
モジュール pom.xml の例
<properties>
<module1.project.version>${module1.version}</module1.project.version>
</properties>
<parent>
<groupId>com.mymodule</groupId>
<artifactId>test</artifactId>
<version>${module1.version}</version>
<relativePath>../pom.xml</relativePath>
</parent>
ビルドは次のエラーで失敗します:
プロジェクト ccm-agent でゴール org.codehaus.mojo:build-helper-maven-plugin:1.7:parse-version (parse-versions) を実行できませんでした: ゴール org.codehaus.mojo:build-helper- の実行 parse-versions maven-plugin:1.7:parse-version に失敗しました。NullPointerException -> [ヘルプ 1] org.apache.maven.lifecycle.LifecycleExecutionException: プロジェクト ccm-agent でゴール org.codehaus.mojo:build-helper-maven-plugin:1.7:parse-version (parse-versions) を実行できませんでした: ゴール org.codehaus.mojo:build-helper-maven-plugin:1.7:parse-version の実行 parse-versions が失敗しました。
ファイルからいくつかのプロパティを読み取り、正しい方法で pom.xml を構成するにはどうすればよいですか?