我有一个父pom,具有这样的依赖关系管理:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.group.id</groupId>
<artifactId>art1</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>com.group.id</groupId>
<artifactId>art1</artifactId>
<version>1.0</version>
</dependency>
</dependencyManagement>
工件art1和art2是来自同一模块的子模块,它们继承自依赖管理所在的父pom。
来自 art1 的依赖项如下所示:
<dependency>
<groupId>com.group.id</groupId>
<artifactId>art2</artifactId>
<version>${project.version}</version>
</dependency>
现在我认为,如果art1的项目版本为0.5,art1依赖项中art2的版本将为0.5,但似乎依赖项管理覆盖了${project.version}
你能告诉我我说的对不对吗
是的,你是对的。父 pom 的依赖项管理中的指定版本将具有传递依赖项的“优先级”。这是依赖关系管理的目的之一:用户可以在一个地方以某种方式“强制”依赖关系的版本。