提问者:小点点

来自父pom的maven依赖性管理覆盖${project.version}


我有一个父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}

你能告诉我我说的对不对吗


共1个答案

匿名用户

是的,你是对的。父 pom 的依赖项管理中的指定版本将具有传递依赖项的“优先级”。这是依赖关系管理的目的之一:用户可以在一个地方以某种方式“强制”依赖关系的版本。