记录springboot 关于 Class path contains multiple SLF4J bindings问题的解决

在尝试SpringBoot与Mybatis整合时,遇到Class path contains multiple SLF4J bindings的问题。尝试通过排除spring-boot-starter-web中的log依赖并引入特定日志库,但未成功。通过`mvn dependency:tree`查看依赖关系,发现多个jar包依赖于不同的SLF4J实现。最终解决方案是检查并修改Mybatis配置中的日志实现类型,将logImpl的value从log4j改为合适的值,从而消除错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

springboot不熟、maven不熟、idea不熟,mybaits已有大半年没碰,东西都是从其他网页复制的,记本次踩坑脱坑过程。

1、尝试springboot整合mybatis,maven文件网上一通复制。

启动后报找不到log4j的jar。

2、失败尝试1

看到有网页上说排除spring-boot-starter-web中的log

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
   <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>

然后引入

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j</artifactId>
        <version>1.3.8.RELEASE</version>
    </dependency>

尝试后发现项目可以启动,但是报Class path contains multiple SLF4J bindings。大体意思是存在两个sfl4j的绑定。一个是log4j,一个是logback.

3、失败尝试2

又是一通搜索,通过maven命令:mvn denpendency:tree查看jar包之间的依赖关系,确实存在如上两个jar

[INFO] Building SpringBootMybatis 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:3.1.1:tree (default-cli) @ SpringBootMybatis ---
[INFO] SpringBootMybatis:SpringBootMybatis:jar:1.0-SNAPSHOT
[INFO] +- org.mybatis.spring.boot:mybatis-spring-boot-starter:jar:2.0.0:compile
[INFO] |  +- org.springframework.boot:spring-boot-starter:jar:2.1.3.RELEASE:compile
[INFO] |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:2.1.3.RELEASE:compile
[INFO] |  |  |  +- ch.qos.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值