解决Maven包依赖重复、冲突导致(omitted for duplicate、omitted for conflict with x.y.z)问题Java开发者避免不来使用Maven,你的项目避免不了依赖第三方的jar包,避免不了会发生依赖重复和冲突 。
到底是怎么产生的呢?
举个例子,很容易理解 。YourApp依赖Ajar,Ajar依赖Xjar-1.0、Yjar-1.0,还依赖Bjar,Bjar依赖Xjar-2.0、Zjar-1.0,这个时候YourApp是依赖Xjar-1.0还是依赖Xjar-2.0呢?这个上帝都不知道,听天由命,哪个版本被第一个加载进来就是它了 。可想而知,出现诡异的问题那就不难理解了 。
如何干掉这个问题呢?
首先,找出可能重复和冲突的依赖 。使用的工具有:
// 查看依赖树mvn dependency:tree // 查看依赖树,-Dverbose显示更多信息mvn dependency:tree -Dverbose // 查看依赖树,-Dincludes进行过滤mvn dependency:tree -Dverbose -Dincludes='*jackson*:"jackson*' 其次,引入希望的版本,过滤其它不需要的版本,武功秘籍就是excludes,如下图:
引入指定版本
文章插图
清除其它版本
文章插图
在使用IDEA的时候,YourApp有时还是会出现类似的问题,那就刷新下Maven吧,IDEA缓存也是很多坑,没事重启下或者刷新下 。
【【Maven】依赖重复和冲突的问题 omitted for duplicate 解决】
文章插图
推荐阅读
- 羽毛球瘦腿方法教程 羽毛球瘦腿方法教程
- 篮球抱球什么意思 篮球抱球技巧
- 镐京在哪 镐京简介
- 跟吃饭有关的经典语录
- 章鱼吃什么
- 友乐APP怎么拍摄视频?友乐APP拍摄视频的方法
- 菜太辣了怎么办
- 微信乘车码怎么使用?微信乘车码使用方法分享
- qq帐号错误怎么办