Maven依赖传递性

当我们在项目中加入spring-web依赖,而spring-web又依赖了spring-beans、spring-core、spring-jcl等,那么这3个依赖也被自动加了进来,这种叫做依赖的传递;

scope元素的值会对这种传递依赖会有影响,影响结果如下图:

 

 

 

A依赖于B,B依赖于C,我们说A对于B是第一直接依赖,B对于C是第二直接依赖,而A对于C是传递性依赖,

上图第一列:即A->B的scope的值

上图第一行:即B->C的scope的值

行列交叉的值显示的是A对于C最后产生的依赖效果;

表格有一定规律:

(1)当B->C依赖是compile的时候(表中第2列),那么A->C的依赖范围和A->B的sope是一样的;

(2)当B->C的依赖是test时(表中第3列),那么B->C的依赖无法传递给A;

(3)当B->C的依赖是provided(表第4列),只传递A->C的scope为provided的情况,其他情况B->C的依赖无法传递给A;

(4)当B->C的依赖是runtime(表第5列),那么C按照B->C的scope传递给A;

A对C的依赖结果取决于B对C的依赖

 

posted on   companion  阅读(51)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示