解决SpringBoot启动时日志Jar包冲突问题

Posted Smile_Miracle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决SpringBoot启动时日志Jar包冲突问题相关的知识,希望对你有一定的参考价值。

基于Maven构建的项目,很多Jar包会在pom里面被依赖式的注入进来,有时如果有相同类型的JAR就会造成Jar包冲突,下面贴上我遇到的关于日志的Jar冲突的问题以及解决办法

 

问题

 

从启动日志最上面可以看到 Class path contains multiple SLF4J bindings.这么一段话,它的意思是说绑定了多个日志JAR,造成这个的原因是由于Jar包冲突

 从这段日志slf4j-log4j12可以看出是由于logback的包与slf4j-log4j12这个包冲突了,那么这时我们得查询pom的依赖找到是哪些包导入了这个slf4j-log4j12,因为springboot默认日志是最新的logback包,所有我们要保证这个Jar的唯一,下来介绍如何排除;

 

 

解决[基于Eclipse方式]

打开pom文件

选择 Dependency Hierarchy ,然后在右上角的filter搜索框输入slf4j查看POM中哪些Jar的依赖导入了slf4j-log4j12这个包

 

通过查找可以看到是由于webmagic-core这个包的依赖引入了冲突的JAR,那么我们可以在pom中通过  <exclusions>属性排除这个引入的包:

 

排除过后clean 然后maven update

可以看到启动正常,不在存在JAR冲突的问题。至此问题解决。 

以上是关于解决SpringBoot启动时日志Jar包冲突问题的主要内容,如果未能解决你的问题,请参考以下文章

原创解决SpringBoot在部署过程中出现大量jar包冲突的问题

原创解决SpringBoot在部署过程中出现大量jar包冲突的问题

Jar包冲突解决方法

升级SpringBoot 2.1.X 各jar包冲突、兼容问题

springboot微服务合并实践

springboot 部署到 weblogic 中 jar 包冲突