1.Maven依赖管理
2.依赖传递
项目2需要用到项目3
需要将项目三作为资源配置到项目二
也就是dependecy中加入项目三的gav
两点注意事项:
使用项目三,直接将其gav添加到依赖中,
使用项目三,项目三不能感知到,自己有相关资源
依赖传递:就是自己使用的资源如果是jar包,那么jar资源使用的依赖自己也可以使用就像上图那样一层一层的传递下去;
依赖传递分为:直接依 赖,间接依赖
3.依赖传递中的冲突问题
原则
当依赖中出现相同的资源,当层级越深优先级越低
相同层级被依赖时,先配置的优先级高
依赖中dependecy出现不同的版本,肯定是后者出现的晚更新,后者优先;
4.可选依赖
可选依赖指对外隐藏当前所依赖的资源
注:
可选依赖无法去除junit依赖的子依赖
用户无法在junit中修改junit的org.hamcrest 的optional参数
5.排除依赖
主动的断开依赖的资源,被排除的资源不需要指定版本‘
不需要写版本
exclutions,exclusion写gav
6排除依赖和可选依赖区别
可选依赖是私房钱,不让别人调用自己的时候使用自己的某个资源
排序依赖是主动断开,排除开自己的不想要的依赖资源
小结:
依赖管理
依赖传递
排除依赖
可选依赖