背景
对maven的jar包引入的理解
按优先级降级
●直接依赖(当前项目含有depency)
1.当前项目的depency版本
2.当前项目的depencymanagment
3.当前项目继承的depencymanagment
●间接依赖(当前项目无depency)
1.当前项目的depencymanagment
2.当前项目继承的depencymanagment
3.被依赖项目的depency版本
4.被依赖项目的depencymanagment
5.被依赖项目继承的depencymanagment
例子
●springbootparent为父,指定了depencymanagment,kafka版本为2.0.1
●project为子,分情况讨论,如果指定版本的话,为2.5.0
●kafka-api为被依赖项目,kafka版本为3.4.0
project分情况讨论
●有父,有kafka-api
1.depency指定kafka,指定版本,kafka为直接依赖,版本为2.5.0
2.depency指定kafka,不指定版本,kafka为直接依赖,使用继承的depencymanagment,版本为2.0.1
3.depency不指定kafka,kafka为间接依赖,使用继承的depencymanagment,版本为2.0.1
●有父,无kafka-api
1.depency指定kafka,指定版本,kafka为直接依赖,版本为2.5.0
2.depency指定kafka,不指定版本,kafka为直接依赖,使用继承的depencymanagment,版本为2.0.1
3.depency不指定kafka,无kafka
●无父,有kafka-api
1.depency指定kafka,指定版本,kafka为直接依赖,版本为2.5.0
2.depency指定kafka,不指定版本,kafka为直接依赖,行为不可预测,可能报错,也可能沿用之前成功引入过的版本
3.depency不指定kafka,kafka为间接依赖,版本为3.4.0
●无父,无kafka-api
1.depency指定kafka,指定版本,kafka为直接依赖,版本为2.5.0
2.depency指定kafka,不指定版本,kafka为直接依赖,行为不可预测,可能报错,也可能沿用之前成功引入过的版本
3.depency不指定kafka,无kafka
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。