线程"main" java.lang.StackOverflowError 中的异常 at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:2



我正在进行一个spring多模块项目。我已将春季版从3.x升级到5.3.17。升级后,在运行项目时,我收到以下错误:线程中的异常";主";java.lang.StackOverflowErrorat 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文件中:编译(组:"org.springframework",名称:"spring-core",版本:"3.0.5.RELEASE"(。此处版本更改为5.3.17类似的东西应用于build.gradle 中与spring相关的spring上下文、spring-web等依赖项

您的SLF4J使用JCL作为后端,JCL使用SLF4J作为后端,因此产生StackOverflow。

Spring的较新版本将spring-jcl作为传递依赖项,并将使用Jakarta Commons logging编码的日志重定向到SLF4J。

此外,如果类路径上有一个执行相反重定向的slf4j-jcl绑定,则会得到一个StackOverflowException

只需将slf4j-jcl从依赖项中删除,就可以了。

相关内容

最新更新