9maven依赖传递性、依赖原则
2024-10-08 09:06:28
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依赖继承。
最新文章
- Django web 进阶
- 有关STL 标准模板库
- linux系统编程之错误处理机制
- [转]Json转换神器之Google Gson的使用
- PHP 用文件流方式展示图片
- DATA GUARD架构(一)
- MSDN知识库_c#关键字_static
- [OFBiz]开发 四
- 使用Zipalign工具优化Android APK应用记录
- Swift 循环、数组 字典的遍历
- Winform单例模式与传值
- 高斯拉普拉斯算子(Laplace of Gaussian)
- 一些关于IO流的问题
- centos修改主机名的正确方法
- Django模型操作常用方法
- java的泛型与反射机制
- filebeat-2-通过kafka队列链接logstash
- ajax从零基础到实战
- JAVA单例MongoDB工具类
- 认识CSS中css引入方式、选择器、文本样式设置以及显示模式
热门文章
- 面向初学者的指南:创建时间序列预测 (使用Python)
- 简单的在jsp页面操作mysql
- from .cv2 import * ImportError: DLL load failed: 找不到指定的模块。 >;>;>;
- openlayer3 坐标系转换
- Spring实战:第一个spring mvc项目
- POJ_1979_dfs
- codeforces 1025B Weakened Common Divisor(质因数分解)
- 【OpenGL】变换矩阵计算公式
- Jmeter之存储测试结果
- centos 7安装reids