最近在一个老spring项目上面需要适配一个新功能,过程中也需要升级spring的版本,然后最后就导致maven的依赖包很乱,同一个包存在多个版本,本文就记录下使用idea解决maven的依赖冲突,同时记录下assembly打包插件的坑。

依赖冲突解决

首先打开pom文件,然后右键按如下图选择进入到该pom文件的整个依赖关系图

依赖关系图一般都很大,基本看不清,如下:

如果你知道哪些包产生冲突,那么mac下可直接common+f快捷搜索

然后找到对应的包排除即可,这里的红色虚线即表示与哪些jar包产生冲突,如下图可以看到spring-aop存在两个版本,导致冲突,排除即可:

此时pom文件中会自动排除,在对应的依赖上会增加exclusion标签

ps:如果你不知道哪些jar包产生冲突,那么需要你首先将整个依赖图变成1:1,这样会看的清楚点

assembly插件版本的坑

改完所有依赖冲突后,以spring为例,即maven中将spring的版本都已更改为4.2.0,但本地打了包验证发现部分jar包仍然依赖了4.1.9的spring,即spring升级前的版本,这就非常奇怪,通过mvn dependency:tree -D output=test.txt尝试输出依赖树,发现依赖树中也都是正确的,即都是4.2.0,并没有4.1.9的spring包。

既然本地依赖都是正确的,那么出问题的可能就在打包的过程中,由于我们项目使用到了assembly插件,初步怀疑与它的版本有关,尝试在某个进程下升级了版本号,果然生效了...猜想估计低版本的assembly在打包过程中可能不会去下载高版本的spring把,升级之前的assembly插件版本为2.6,升级后为3.1.1,仅作记录。

idea解决maven依赖冲突相关推荐

  1. 什么是Maven依赖冲突,如何解决Maven依赖冲突

    在解决冲突之前首先我们要知道什么是依赖冲突,这样可以更好的去锁定bug原因.下面通过一个代码示例来真正展示出依赖冲突. 目录 依赖冲突代码演示 1.添加依赖 2.观察依赖的层次结构 3.运行项目jra ...

  2. idea导入maven项目依赖报错_解决Maven依赖冲突的好帮手,这款IDEA插件了解一下?

    1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的.Maven的依赖机制会导致Jar包的冲突. 举个例子,现在你的项目中,使用了两个Jar包,分别是A和B.现在A需要依赖 ...

  3. Maven依赖原则及如何解决Maven依赖冲突

    前言 在大数据应用中,现在发现依赖关系非常复杂,在上线之前很长测试,前一段时间在部署udf 出现了导致生产Hiveserver2 宕机问题,出现严重事故.现在就咨询研究一下.Maven虽然已经诞生多年 ...

  4. 又出现依赖冲突?试试 IDEA 解决 Maven 依赖冲突的高能神器!

    以下文章来源方志朋的博客,回复"666"获面试宝典 1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的.Maven的依赖机制会导致Jar包的冲突.举个 ...

  5. 是时候装逼了,试试 IDEA 解决 Maven 依赖冲突的高能神器!

    点击关注公众号,Java干货及时送达 来源 | segmentfault.com/a/1190000017542396 1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的 ...

  6. 解决Maven依赖冲突的好帮手,这款IDEA插件了解一下?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:桔子214032 segmentfault.com/ ...

  7. 解决 Maven 依赖冲突的好帮手,必须了解一下!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:桔子214032 sf.com/a/119000001754 ...

  8. 解决Maven依赖冲突的好帮手,必须了解一下!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 桔子214032 来源 | http://su ...

  9. 如何解决Maven依赖冲突

    一.Java常见包冲突异常: AbstractMethodError NoClassDefFoundError ClassNotFoundException LinkageError 二.冲突分析 像 ...

最新文章

  1. About Javascript MVC
  2. 红帽技术开放日:参与开源社区不只有贡献代码这一种方式
  3. git bash命令_?你可能不太会用的10个Git命令
  4. 均差定义及性质(python实现)
  5. jquery mobile自定义图标实现方法
  6. Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(六)后端改造
  7. CSS 技巧tips1
  8. linux hosts文件如何修改_3 种方法教你在 Linux 中修改打开文件数量限制
  9. P4414 [COCI2006-2007#2] ABC(python3实现)
  10. HarmonyOS笔记
  11. MySQL - 安装教程详细图解
  12. 《你若安好,便是晴天》
  13. 微信公众平台昵称乱码emoji表情
  14. 夜神模拟器adb查看log
  15. 【BZOJ5405】platform(二分,SA,线段树)
  16. 2021年安全生产模拟考试(全国特种作业操作证电工作业-高压电工模拟考试题库二)
  17. Linux shell脚本,Linux下的西红柿时间管理法 I
  18. 类和对象总结及用法 计算点到点距离 线与线的关系 计算三角形平行四边形面积周长 判断形状
  19. 《产品经理面试攻略》PART 11:BAT招聘真题
  20. GitHub协作开发项目

热门文章

  1. 硬科技的时代之路,镁客网与你一起见证!
  2. python有哪些函数_python常用函数有哪些
  3. 2019全球半导体销售和增速排行榜
  4. Mysql开源免费管理工具
  5. xff_referer
  6. win10记事本保存时默认编码格式改为UTF-8——亲测
  7. 为什么你参加了那么多培训,却依然表现平平?
  8. python输入一个四位整数_Python 四位一并法
  9. Splart-Allmaras湍流模型及MATLAB编程~
  10. MES是如何进行物料BOM管理的?