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依赖继承

最新文章

  1. Django web 进阶
  2. 有关STL 标准模板库
  3. linux系统编程之错误处理机制
  4. [转]Json转换神器之Google Gson的使用
  5. PHP 用文件流方式展示图片
  6. DATA GUARD架构(一)
  7. MSDN知识库_c#关键字_static
  8. [OFBiz]开发 四
  9. 使用Zipalign工具优化Android APK应用记录
  10. Swift 循环、数组 字典的遍历
  11. Winform单例模式与传值
  12. 高斯拉普拉斯算子(Laplace of Gaussian)
  13. 一些关于IO流的问题
  14. centos修改主机名的正确方法
  15. Django模型操作常用方法
  16. java的泛型与反射机制
  17. filebeat-2-通过kafka队列链接logstash
  18. ajax从零基础到实战
  19. JAVA单例MongoDB工具类
  20. 认识CSS中css引入方式、选择器、文本样式设置以及显示模式

热门文章

  1. 面向初学者的指南:创建时间序列预测 (使用Python)
  2. 简单的在jsp页面操作mysql
  3. from .cv2 import * ImportError: DLL load failed: 找不到指定的模块。 >>>
  4. openlayer3 坐标系转换
  5. Spring实战:第一个spring mvc项目
  6. POJ_1979_dfs
  7. codeforces 1025B Weakened Common Divisor(质因数分解)
  8. 【OpenGL】变换矩阵计算公式
  9. Jmeter之存储测试结果
  10. centos 7安装reids