maven pom parent应用

2021-11-04  本文已影响0人  holyABCD

1.定义

当前工程定义为'子',<parent>中的定义为'父'。

2.依赖优先级

2.1.

对于子声明了依赖,但没有version,父没有声明依赖,只在<dependencyManagement> 中规定了版本,<dependencyManagement> 从近到远,优先级降低。即对于同一依赖,用子中的依赖的版本,若没有,用父,若还没有,用父的父,父的父的父的父的父的父的父..

2.2.

子中<dependencies> 中声明了某依赖A且有version,不管<dependencyManagement>规定不规定,都用子的。

3.举例

3.1

 <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
            <version>3.0.0</version>
        </dependency>
 <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>1.0.0</version>
            </dependency>
 </dependencyManagement>

子没有该依赖,引用的为3.0.0

3.2

父同上

  <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
<!--        <version>1.0.0</version>-->
    </dependency>

无dependencyManagement,依赖版本为1.0.0,使用的父的dependencyManagement

3.3

父同上

  <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
       <version>1.0.0</version>
    </dependency>

无dependencyManagement,依赖版本为1.0.0,使用的父的dependencyManagement

3.4

父同上

  <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
       <version>1.0.0</version>
    </dependency>
 <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>3.0.0</version>
            </dependency>
 </dependencyManagement>

子依赖版本为1.0.0,使用的自己的dependency

3.4

 <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
            <version>3.0.0</version>
        </dependency>
 <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>3.0.0</version>
            </dependency>
 </dependencyManagement>

<dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
       <version>1.0.0</version>
    </dependency>
 <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apache.kafka</groupId>
                <artifactId>kafka-clients</artifactId>
                <version>3.0.0</version>
            </dependency>
 </dependencyManagement>

子依赖版本为1.0.0,使用的自己的dependency

上一篇下一篇

猜你喜欢

热点阅读