zoukankan      html  css  js  c++  java
  • 9maven依赖传递性、依赖原则

    maven的依赖传递:

      A.jar->B.jar->C.jar

      要使 A.jar ->C.jar:当且仅当 B.jar 依赖于C.jar的范围是compile,如果B依赖于C的范围不是compile,那么A依赖不了C

    举个例子:

    这里创建两个项目,HelloWorlds和HelloWorld2,HelloWorld2配置了junit单元测试依赖,如果HelloWorlds想依赖HelloWorld2中的junit,那么HelloWorld2和junit的依赖范围必须是compile,否则依赖不了。(注意:项目之间互相依赖还需要配置依赖,详细:maven配置多个项目之间的依赖

     

     

     不过不建议修改所配置依赖的默认的依赖范围,会出现jar包冲突,会报空指针异常。

    依赖原则:为了防止依赖之间的冲突

      a.路径最短优先原则

      b.路径长度相同:
        i.在同一个pom.xml文件中有2个相同的依赖(覆盖):后面声明的依赖 会覆盖前面声明的依赖 (严禁使用本情况,严禁在同一个pom中声明2个版本不同的依赖)
        ii.如果是不同的 pom.xml中有2个相同的依赖(优先):则先声明的依赖 ,会覆盖后声明的依赖

     

    注意:只要pom发生了改动,都应该项目右键,选择maven>update project

    传递依赖需要确保依赖范围为compile,而且修改默认的依赖范围会出现冲突,所以不建议修改默认的依赖范围

    推荐使用依赖继承,详细:maven依赖继承

  • 相关阅读:
    2.18周四笔记
    Tkinter 控件详细介绍
    python基础: day4作业计算器
    Python的functools.reduce用法
    正则表达式技术深入
    递归
    生成器generator
    绕过验证码
    导入JSONPathExtractorExample.jmx文件报错,导不进去
    jmeter一些插件下载网址
  • 原文地址:https://www.cnblogs.com/unlasting/p/12199201.html
Copyright © 2011-2022 走看看