【发布时间】:2013-05-29 12:48:58
【问题描述】:
占位符${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.1.jar,而不是my.group.dep.2.jar。所以占位符被解析为使用托管依赖项的项目版本,而不是定义依赖项的项目版本。
这是预期的行为吗?我正在使用 maven 3.0.4。
【问题讨论】:
标签: maven maven-3 build-dependencies