美文网首页
Maven pom.xml下的依赖包的传递关系

Maven pom.xml下的依赖包的传递关系

作者: 空山Echo | 来源:发表于2018-09-06 17:02 被阅读0次

一、dependency 下的标签解释

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>compile</scope>
            <type>jar</type>
        </dependency>
    </dependencies>
image.png

二、如何理解依赖包具有传递性,以及它们的使用级别(注意<scope>的值,若不打进包自然不被传递,如test、provided)

  1. Pa -----logging1.0.1.jar
    Pc -----Pa(则Pc-----logging1.0.1.jar)
    若Pc 本工程直接添加logging1.0.5依赖,不论代码先后,优先使用本工程自身的依赖jar包1.0.5。
  2. Pa ----- logging1.2.6.jar
    Pb ----- logging1.3.0.jar
    Pc ----- Pa,Pb
    则,Pc将依赖logging1.2.6.jar
  3. Pa ----- logging1.2.6.jar
    Pb ----- logging1.3.0.jar
    Pc ----- Pa Pd ----- Pc,Pb
    此时Pd默认依赖Pb传递来的logging1.3.0.jar。若想使用Pa中的logging1.2.6.jar 则需要使用排除标签 <exclusion>排除logging1.3.0.jar

    结论:离工程越近的级别优先级越高,同级别时选择先依赖的那个,若想使用低级别可使用排除高级别的方法

image.png

三、查看依赖关系图

image.png

相关文章

网友评论

      本文标题:Maven pom.xml下的依赖包的传递关系

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