Речь идет о Maven POM вВозможно ли иметь родительскую версию как свойство для предоставления детям?
Если я хотел бы иметь версию моего Родителя также быть версии моих зависимостей я должен установить значение Thats недвижимости составляет $ {project.parent.version}.
Проблема возникает тогда, когда ребенок моего основного ПОМ (который имеет свойство $ {project.parent.version} внутри него, потому что он является родительским проектом, который я не администрирую), пересчитайте свойство и подумайте, что значение созданного свойства теперь является версией моего основного ПОМ.
--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>
В конце концов, это свойство $ {dependency.version} в детской Pom 1.0.0 вместо 1.2.3. Является ли это желательным поведением Maven? И что я мог сделать, чтобы он работал?
Вещи, которые не могут быть изменены:
- SuperPom
- Главная Pom Версия
Итак, при изменении версии SuperPom единственным возможным способом является изменение 2 полей (версия в родительском и собственном объекте)? – Serverfrog
В принципе, да. И вы не можете использовать переменную в поле parent.version, потому что maven вы пытаетесь загрузить родителя перед обработкой переменных. – Vinicius
Это абсолютно удручающе. – Matthias