これはMaven POMに関するものです子供に与えるための親バージョンをPropertyとして持つことができますか?
私の親のバージョンも私の依存関係のバージョンにしたいのですが、私はそのプロパティの値を$ {project.parent.version}に設定する必要があります。
問題は、私の主なPOMの子(それはその中に$ {project.parent.version}プロパティを持っていますが、それは親であるため、管理していないプロジェクトです)プロパティを再計算し、作成されたPropertyの値がメインPOMのバージョンになりました。
--SuperParent (not in my Administration) | Version = 1.2.3
----MainPom | Version = 1.0.0 | Property <test>${project.parent.version}</test> -> 1.2.3
------Child Pom | Version 1.0.0 | Property ${test} is now 1.0.0
<project>
<!-- Super Pom -->
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<version>1.2.3</version>
</project>
<project>
<!-- MainPom -->
<groupId>othergroupId</groupId>
<artifactId>otherartifactId</artifactId>
<version>1.0.0</version>
<parent>
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<version>1.2.3</version>
</parent>
<properties>
<dependency.version>${project.parent.version}</dependency.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>dependencyGroupId<groupId>
<artifactId>dependency</artifactId>
<version>${dependency.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
<project>
<!-- ChildPom -->
<groupId>childGroupId</groupId>
<artifactId>childArtifactId</artifactId>
<version>1.0.0</version>
<parent>
<groupId>othergroupId</groupId>
<artifactId>otherartifactId</artifactId>
<version>1.0.0</version>
</parent>
<dependencies>
<dependency>
<groupId>dependencyGroupId<groupId>
<artifactId>dependency</artifactId>
</dependency>
</dependencies>
</project>
エンドに子供ポンポン1.0.0の代わり1.2.3プロパティ、$ {dependency.version}です。 これはMavenの望ましい動作ですか?私はそれを機能させるために何をすることができますか?変更することはできません
もの:
- SuperPom
- メインポンポンバージョン
SuperPomのバージョンが変更された場合、唯一可能な方法は2つのフィールド(親とプロパティのバージョン)を変更することです。 – Serverfrog
基本的には、はい。また、変数を処理する前に親をロードしようとするため、parent.versionフィールドに変数を使用することはできません。 – Vinicius
これは絶対に落ち込んでいます。 – Matthias