美文网首页
maven pom parent应用

maven pom parent应用

作者: holyABCD | 来源:发表于2021-11-04 19:47 被阅读0次

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

相关文章

网友评论

      本文标题:maven pom parent应用

      本文链接:https://www.haomeiwen.com/subject/pvomyltx.html