根据日志信息,你的项目中存在多个SLF4J绑定。其中一个是logback-classic-1.2.11.jar提供的,另一个是slf4j-simple-1.7.25.jar提供的。
这种情况下,SLF4J会选择实际绑定类型为[ch.qos.logback.classic.util.ContextSelectorStaticBinder]。然而,由于存在多个绑定,可能会导致意外行为和冲突。
要解决这个问题,你可以尝试以下方法之一:
- 排除其中一个依赖项:在Maven或Gradle配置文件中排除一个绑定依赖项。例如,在Maven中:
<dependencies>
<!-- 其他依赖项 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.11</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 其他依赖项 -->
</dependencies>
或者在Gradle中:
dependencies {
// 其他依赖项
implementation('ch.qos.logback:logback-classic:1.2.11') {
exclude group: 'org.slf4j', module: 'slf4j-api'
}
// 其他依赖项
}
- 确保项目中只有一个绑定:检查项目的依赖项,确保只有一个SLF4J绑定存在。你可以将其中一个绑定的版本更新到与另一个绑定相同的版本。
根据具体情况选择适合你项目的解决方案,并确保只有一个SLF4J绑定存在于类路径中。
内容由零声教学AI助手提供,问题来源于学员提问




