依赖传递的规则

1.什么是传递依赖?

A 依赖BB依赖C,在A中导入B后会自动导入CCA的传递依赖,如果C依赖DD也可能是A的传递依赖

演示:

web中添加struts-springjar,传递依赖了spring

2.依赖范围对传递依赖的影响(了解)

依赖会有依赖范围,依赖范围对传递依赖也有影响,有ABCA依赖BB依赖CC可能是A的传递依赖,如下图:

最左边一列为直接依赖,理解为A依赖B的范围,最顶层一行为传递依赖,理解为B依赖C的范围,行与列的交叉即为A传递依赖C的范围。

举例:

比如 A compile 依赖,C runtime 依赖,那么根据表格所示A runtime 依赖。

测试

dao依赖junitscoptest

service依赖dao.

查看下图红色框内所示传递依赖范围:

 

所以maven-first所依赖的junitjar没有加入到maven-web工程。

如果修改maven-first依赖junitscopcompilemaven-first所依赖的junitjar包会加入到maven-web工程中,符合上边表格所示,查看下图红色框内所示:

 

 3.传递具有依赖性,但不是无限传递的,解决方法:

如果在依赖传递过程中,导致jar包丢失,再一次导入坐标。

转载于:https://www.cnblogs.com/wyhluckdog/p/10283953.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值