在我的项目中,我使用 slf4j 进行日志记录。
如果我包含对 logback-classic = "1.2.13" 或更早版本的依赖项,我会收到一条错误消息,指出未找到 SLF4J 提供程序,并且默认为无日志记录。
如果我阅读了引用的页面,它建议添加更新的依赖项。
但是如果我添加对较新版本的 logback 的依赖,它会抛出异常 java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
如何解决?
您不应该在 Spring Boot 项目中声明这些版本,因为兼容版本已经通过 spring-boot-dependency 设置。你可以打开专用的
POM
,会发现Spring团队测试过的所有依赖,它们的兼容版本都已经设置好了。
Maven项目中登录的依赖关系通常设置如下:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</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-log4j2</artifactId>
</dependency>
....
</dependencies>