jar包冲突解决
- maven依赖原则
- 间接依赖最短优先: a>b>c和a>e>f>d>c, 则优先使用前者
- 声明顺序优先: 若路径长度相同, 则先声明优先.
- 冲突原因
maven有传递依赖机制, 当A依赖B, 引入A依赖时, 则mave在解析A时连同B一同引入.
- A>B>C>G21(guava 20.0)
- E>F>G20(guava 21.0)
- 【jar包冲突解决】排查
- 通过类/方法查找, 如可以找到则存在jar包冲突, 找不到则可能是缺少jar包, 引入即可.
- 使用mvn dependency:tree [-Dverbose -Dincludes=groupId:artifactId], 或DIEA插件Maven Helper查看依赖树
- 查看查找类中版本和maven依赖中的版本是否相同
- 示例
报错: Caused by: java.lang.NoClassDefFoundError: org/springframework/core/env/EnvironmentCapable
查找类, 存在, 则jar包冲突, 引用的spring-core 4.2.2
文章图片
文章图片
找到冲突pom, 添加排除
文章图片
推荐阅读
- 喂,你结婚我给你随了个红包
- CET4听力微技能一
- 放下心中的偶像包袱吧
- 社保代缴公司服务费包含哪些
- Beego打包部署到Linux
- 世界之大,包罗万象--|世界之大,包罗万象-- 读《我不过低配的人生》
- 用npm发布一个包的教程并编写一个vue的插件发布
- 积极探索|积极探索 绽放生命 ???——心心相印计划:青少年心理工作研讨小组全国大型公益行动第二次活动包头市青山区分校圆满成功
- 那个喝大了的女人在群里发了一晚上的红包
- HttpClient对外部网络的操作