私は、さまざまなモジュールバージョンに多くの依存関係を持つマルチモジュールプロジェクトを持っています。現時点では、バージョンはハードコードされており、手動で変更する必要があります。だから私はそれらをすべてプロパティファイルに入れ、プロジェクトビルド中にプロパティ値を取得することに決めました。モジュールのpom.xmlのMaven:プロパティファイルからpom.xmlのプロパティを設定
module1.version=1.1
module2.version=1.8
module3.version=5.4
例を
ルートの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:ここ
は、私はそれをしようとする方法です
<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>
ビルドで失敗します。
目標に org.codehaus.mojoの実行に失敗しました:ビルドヘルパーのmaven-pluginのを:1.7:解析-バージョンプロジェクトccm-上 (パース・バージョン)エージェント:実行解析バージョン のゴールorg.codehaus.mojo:build-helper-maven-plugin:1.7:parse-version が失敗しました。 NullPointerExceptionが発生 - > [ヘルプ1] org.apache.maven.lifecycle.LifecycleExecutionException: に失敗しました。目標 org.codehaus.mojo実行:ビルドヘルパーのmaven-pluginの:1.7:解析-バージョン を(パース・バージョン)上プロジェクトccm-agent:実行解析バージョン のゴールorg.codehaus.mojo:build-helper-maven-plugin:1.7:parse-version が失敗しました。
ファイルからいくつかのプロパティを読み込み、正しい方法でpom.xmlを構成するにはどうすればよいですか?
Maven 2または3を使用していますか? –
Maven 3.0.4。私はそれが重要だと思いますか? – Dragon