spring 未找到类定义错误:org/slf 4j/impl/StaticLoggerBinder在Gradle上具有正确的依赖关系

gab6jxml  于 2022-12-10  发布在  Spring
关注(0)|答案(1)|浏览(167)

我们正在尝试升级日志记录。我们正在使用gradle文件从以下位置更新这些包:

implementation "org.slf4j:slf4j-api:1.7.6"
    implementation "ch.qos.logback:logback-classic:1.2.3"
    implementation "ch.qos.logback:logback-core:1.2.3"

implementation "org.slf4j:slf4j-api:2.0.5"
    implementation "ch.qos.logback:logback-classic:1.4.5"
    implementation "ch.qos.logback:logback-core:1.4.5"

但是,在执行此更新时,我们会收到以下错误:

java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder

我们使用的是spring-boot,但排除了它的日志记录包,它在上面看到的日志记录包的以前版本中工作。这是通过以下方式完成的:

configurations {
    all*.exclude module: 'spring-boot-starter-logging'
}

我们相信这些新版本使用了正确的更新依赖项。我们不确定是什么导致了这个问题,因为我们没有运气地遵循了其他建议。如果有人能提供帮助,我们将不胜感激。
谢谢你

pod7payv

pod7payv1#

StaticLoggerBinder在org.slf4j-2.0.5.版本中不存在。从我所看到的内容中,您可以在此处找到StaticLoggerBinder的依赖项

group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.19.0'

https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-slf4j-impl
我还检查了StaticLoggerBinder,即使在最新版本2.19.0中也存在
此外,我还检查了slf4j-api 1.7.6.https://mvnrepository.com/artifact/org.slf4j/slf4j-api/1.7.6的旧版本
该依赖项也没有StaticLoggerBinder,但它存在于我上面提供的log4j-slf4j-impl的依赖项中。

相关问题