maven 隐式依赖引起的包冲突解决办法
发布时间 - 2026-01-10 22:14:24 点击率:次包冲突

1.使用maven管理项目时可能会遇到包冲突的情况比如:log4j-over-slf4j.jar 和 slf4j-log4j12.jar这两个包同时一起运行时就会有问题。
2.这种冲突可能是显式依赖导致,也可能是隐式依赖导致。
显式依赖,直接可以从pom.xml文件的<dependency>中看到两个冲突包的引用。
隐式依赖,在pom.xml的<dependency>无法看到冲突的包,而是由<dependency>引入的包间接引入的。
解决
先确认哪些依赖间接引入了包。使用mvn dependency:tree查看整个项目的依赖树,这里能看到所有的依赖,包括间接依赖。
结果类似如下:
[INFO] +- junit:junit:jar:4.12:test [INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test [INFO] +- org.apache.storm:storm-core:jar:1.0.2:provided [INFO] | +- com.esotericsoftware:kryo:jar:3.0.3:compile [INFO] | | \- com.esotericsoftware:minlog:jar:1.3.0:compile [INFO] | +- org.clojure:clojure:jar:1.7.0:provided [INFO] | +- com.lmax:disruptor:jar:3.3.2:provided [INFO] | +- org.apache.logging.log4j:log4j-api:jar:2.1:provided [INFO] | +- org.apache.logging.log4j:log4j-core:jar:2.1:provided [INFO] | +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.1:provided [INFO] | +- org.slf4j:log4j-over-slf4j:jar:1.6.6:provided [INFO] | +- javax.servlet:servlet-api:jar:2.5:provided [INFO] | \- org.slf4j:slf4j-api:jar:1.7.7:compile [INFO] +- com.aaa.khala:aaa-khala-insight-sdk-transfer-api:jar:1.0.0-SNAPSHOT:compile [INFO] | \- com.aaa.khala:aaa-khala-common:jar:1.0.0-SNAPSHOT:compile [INFO] | +- javax.mail:javax.mail-api:jar:1.5.5:compile [INFO] | +- cglib:cglib:jar:2.2.2:compile [INFO] | +- org.aspectj:aspectjrt:jar:1.7.4:compile [INFO] | +- org.aspectj:aspectjweaver:jar:1.7.4:runtime [INFO] | +- org.javassist:javassist:jar:3.20.0-GA:compile [INFO] | +- log4j:log4j:jar:1.2.17:compile [INFO] | +- org.slf4j:slf4j-log4j12:jar:1.7.7:compile [INFO] | +- dom4j:dom4j:jar:1.6.1:compile [INFO] | +- jaxen:jaxen:jar:1.1.6:compile [INFO] | +- commons-collections:commons-collections:jar:3.2.1:compile [INFO] | +- commons-codec:commons-codec:jar:1.9:compile [INFO] | +- commons-beanutils:commons-beanutils:jar:1.9.2:compile [INFO] | +- org.apache.commons:commons-compress:jar:1.6:compile [INFO] | | \- org.tukaani:xz:jar:1.4:compile
查到冲突包对应的依赖,在pom.xml的<dependency>中配置排除,就不会引入该包了,例如:
<dependency>
<groupId>com.aaa.khala</groupId>
<artifactId>aaa-khala-insight-sdk-transfer-api</artifactId>
<version>1.0.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# maven
# 隐式依赖引起的包冲突
# 隐式依赖包冲突解决方案
# 详解maven依赖冲突以及解决方法
# 详解 maven的pom.xml用<exclusion>解决版本问题
# 使用idea解决maven依赖冲突的问题
# 关于Maven依赖冲突解决之exclusions
# 会有
# 隐式
# 是由
# 这两个
# 希望能
# 时就
# 谢谢大家
# 包了
# 能看到
# 引入了
# core
# hamcrest
# INFO
# test
# org
# junit
# apache
# clojure
# minlog
# disruptor
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何为不同团队 ID 动态生成多个非值班状态按钮
微信小程序 wx.uploadFile无法上传解决办法
如何在阿里云通过域名搭建网站?
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
如何在云指建站中生成FTP站点?
JavaScript如何实现路由_前端路由原理是什么
Laravel如何实现模型的全局作用域?(Global Scope示例)
Laravel如何升级到最新版本?(升级指南和步骤)
如何在阿里云域名上完成建站全流程?
Laravel如何使用.env文件管理环境变量?(最佳实践)
如何在景安云服务器上绑定域名并配置虚拟主机?
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
如何获取免费开源的自助建站系统源码?
如何用VPS主机快速搭建个人网站?
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
实例解析angularjs的filter过滤器
香港服务器网站推广:SEO优化与外贸独立站搭建策略
Laravel怎么上传文件_Laravel图片上传及存储配置
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
Python自动化办公教程_ExcelWordPDF批量处理案例
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
Python文件流缓冲机制_IO性能解析【教程】
如何在阿里云虚拟服务器快速搭建网站?
javascript中闭包概念与用法深入理解
Android滚轮选择时间控件使用详解
重庆市网站制作公司,重庆招聘网站哪个好?
Laravel安装步骤详细教程_Laravel环境搭建指南
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
Laravel观察者模式如何使用_Laravel Model Observer配置
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
JavaScript实现Fly Bird小游戏
Laravel怎么清理缓存_Laravel optimize clear命令详解
如何实现建站之星域名转发设置?
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
微信小程序 五星评分(包括半颗星评分)实例代码
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
如何在VPS电脑上快速搭建网站?
jQuery 常见小例汇总
js实现获取鼠标当前的位置
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
如何快速查询网址的建站时间与历史轨迹?
如何在橙子建站中快速调整背景颜色?
什么是javascript作用域_全局和局部作用域有什么区别?
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程

