我正在做一个弹簧多模块项目。我已经将spring版本从3.x升级到5.3.17。升级后,在运行项目时出现以下错误:java.lang.StackOverflowError at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242) at org.apache.commons.logging.LogAdapter$Slf4jAdapter.createLocationAwareLog(LogAdapter.java:130) at org.apache.commons.logging.LogAdapter.createLog(LogAdapter.java:91) at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:67) at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:88) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242) at org.apache.commons.logging.LogAdapter$Slf4jAdapter.createLocationAwareLog(LogAdapter.java:130) at org.apache.commons.logging.LogAdapter.createLog(LogAdapter.java:91) at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:67) at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:88)线程中的异常
在build.gradle文件中:.Here(组:"org.springframework",名称:“spring”,版本:"3.0.5.RELEASE").Here版本更改为5.3.17类似的内容,适用于build.gradle中的spring-上下文、spring等与spring相关的依赖项。
发布于 2022-03-31 19:39:41
您的SLF4J使用JCL作为后端,JCL使用SLF4J作为后端,因此使用StackOverflow。
较新版本的Spring将spring-jcl作为传递依赖项,并将使用Jakarta编码的日志重定向到SLF4J。
此外,如果您的类路径上有一个执行相反重定向的slf4j-jcl绑定,则会得到一个StackOverflowException。
只需从依赖项中删除slf4j-jcl,就可以了。
https://stackoverflow.com/questions/71694153
复制相似问题