在父 pom 的依赖管理中定义的传递依赖

transitive dependency defined in parent pom's dependency management

'Dependency1' 传递拉 'dependency2' 我想在我的项目中管理 'dependency2' 版本。

如果我在父 pom 的依赖管理部分中同时具有 'dependency1' 和 'dependency2' 并且只有 'dependency1' 子 pom,那么项目将引入什么版本的 'dependency2'项目的?

像这样:

ParentPOM

<dependencyManagement>
  <dependencies>

        <dependency>
          <groupId> groupId </<groupId>
          <artifactId> artifact1 </artifactId>
          <version> version1 </version>
        </dependency>

        <dependency>
          <groupId> groupId </<groupId>
          <artifactId> artifact2 </artifactId>
          <version> version2 </version>
        </dependency>

  <dependencies>
<dependencyManagement>

ChildPOM

<dependencies>
   <dependency>
       <groupId> groupId1 </<groupId>
          <artifactId> artifact1 </artifactId>
          <version> version1 </version>
       </dependency>
  <dependencies>

您必须从重新定义的工件中排除传递依赖。

Parent pom.xml:

<dependencyManagement>
  <dependencies>

        <dependency>
          <groupId> groupId </<groupId>
          <artifactId> artifact1 </artifactId>
          <version>artifact1</version>
        </dependency>

        <dependency>
          <groupId> groupId </<groupId>
          <artifactId> artifact2 </artifactId>
          <version> version2 </version>
        </dependency>

  <dependencies>
<dependencyManagement>

Child pom.xml:

<dependencies>
   <dependency>
       <groupId> groupId1 </<groupId>
          <artifactId> artifact1 </artifactId>
          <version> version1 </version>
          <exclusions>
            <exclude>
              <groupId>groupId</groupId>
              <artifactId>artifact2</artifactId>
            </exclude>
          </exclusions>
       </dependency>
  <dependencies>