Как заменяется placeholder ${project.version}
для управляемых свойств из родительского pom? Я ожидал, что он будет разрешен глобально, поэтому, когда родительский pom имеет версию 2, ${project.version}
также будет разрешен к версии 2.
В родительском pom я:
<groupId>my.group</groupId>
<artifactId>parent</artifactId>
<version>2</version>
<packaging>pom</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>my.group</groupId>
<artifactId>dep</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
В дочернем я использую
<parent>
<groupId>my.group</groupId>
<artifactId>parent</artifactId>
<version>2</version>
</parent>
<version>1</version>
<artifactId>child</artifactId>
Но вместо my.group.dep.2.jar
используется артефакт my.group.dep.1.jar
. Таким образом, местозаполнитель разрешен для версии проекта с использованием управляемой зависимости, а не для проекта определения зависимости.
Это ожидаемое поведение? Я использую maven 3.0.4.