首页 > 解决方案 > 类路径包含多个 SLF4J 绑定,请告诉我应该从 pom 中删除哪个依赖项来解决这个问题

问题描述

在我的 pom.xml 文件中,我发现了以下依赖项,在我的父 pom.xml 中包含 logback-classic 依赖项,另一个模块包含 slf4j-api 依赖项,

   <dependency>
         <groupId>org.slf4j</groupId>   
         <artifactId>slf4j-api</artifactId>
         <version>${slf4j.version}</version>
    </dependency>

     <dependency>
         <groupId>ch.qos.logback</groupId>
         <artifactId>logback-classic</artifactId>
         <version>${logback.version}</version>
      </dependency>


logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class
slf4j-simple-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class

标签: javaspring-bootlogbackslf4j

解决方案


排除后解决了我的问题。来自 spring boot 的依赖。它还引入了 log4j-over-slf4j,这与我自己对 slf4j-api 的要求相冲突。通过添加以下排除项解决。这比不包括 Spring Boot 日志记录更具体。

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <exclusions>
            <exclusion>
                <artifactId>logback-classic</artifactId>
                <groupId>ch.qos.logback</groupId>
            </exclusion>
            <exclusion>
                <artifactId>log4j-over-slf4j</artifactId>
                <groupId>org.slf4j</groupId>
            </exclusion>
        </exclusions>
</dependency>

推荐阅读