文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何解决Maven依赖冲突

2023-07-06 13:46

关注

今天小编给大家分享的是如何解决Maven依赖冲突,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

目录

背景

在项目中screw-core依赖时发生了冲突,控制台指出是log4j产生的依赖冲突,导致程序报错无法运行,是一个典型的maven依赖冲突,基于这个问题进行

处理

处理首先查看控制台报错日志

如何解决Maven依赖冲突

基于这个报错在pom依赖中查看一下

如何解决Maven依赖冲突

screw-corey依赖是这次新增加的依赖,也就是说依赖冲突是由于screw-core依赖和原有的依赖产生了冲突,具体是哪个依赖,我们打开screw-core依赖进行查看他的依赖,奇怪的是并没有看到screw-core中存在log4j的引用,这时候想到一个idea的插件 maven-helper

maven-helper这个插件是专门帮助我们解决maven依赖冲突的插件,使用时可以看到具体的依赖冲突是哪些依赖,我进行了安装使用

如何解决Maven依赖冲突

首先进入pom文件,安装插件后会看到左下角有一个Dependency Analyzer按钮,点击一下,我们可以看到依赖冲突

如何解决Maven依赖冲突

依赖冲突有很多,其实这里面的依赖冲突就是不同的依赖引用了不同的版本jar包,但是很多是没有影响的,这里面差生影响的就是log4j-api,我们看到项目中有两个版本,一个是2.17.0,一个是2.11.2

如何解决Maven依赖冲突

点击2.17.0jump to source 可以看到他的引用,根据pom发现他是在引入screw-core之前就已经存在的依赖,这就说明随着screw-corey依赖的引入,导入了2.11.2版本的log4j,进而导致依赖冲突,然而在screw-core的依赖引入中没有看到,就说明是他的下一层架依赖引入或者多层级依赖引入导致的问题。这时候我采用了排除法,对screw-core中类似log4j的依赖逐个排除

如何解决Maven依赖冲突

排除掉log4j依赖,问题解决

回顾

对于maven-helper的idea插件,在市面上是比较火的,但是使用起来并没有达到我理想中的期望,比如直接找到冲突的依赖,直接排除掉,看了些网上的教程,对于简单的以来冲突maven-helper可以较快的定位到,但是对于向我遇到的问题,还是需要慢慢的去排查,总之问题解决了,也算是很有收获。

关于如何解决Maven依赖冲突就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯