我正在做一个Spring多模块项目。我已经将Spring版本从3.x升级到5.3.17。升级后,在运行项目时,我得到以下错误:线程“主”中出现异常在build.gradle文件中:编译(组:“org.springframework”,名称为:“Spring芯”,型号:“3.0.5.RELEASE”)。此处版本更改为5.3.17,类似的内容适用于build.gradle中的spring-context、spring-web等与spring相关的依赖项
gab6jxml1#
您的SLF4J使用JCL作为后端,而您的JCL使用SLF4J作为后端,因此出现了StackOverflow。较新版本的Spring将spring-jcl作为可传递依赖项,并将使用Jakarta Commons Logging编码的日志重定向到SLF4J。此外,如果您的类路径上有一个slf4j-jcl绑定,它执行相反的重定向,则会得到一个StackOverflowException。只要从依赖项中删除slf4j-jcl,就可以了。
spring-jcl
slf4j-jcl
StackOverflowException
1条答案
按热度按时间gab6jxml1#
您的SLF4J使用JCL作为后端,而您的JCL使用SLF4J作为后端,因此出现了StackOverflow。
较新版本的Spring将
spring-jcl
作为可传递依赖项,并将使用Jakarta Commons Logging编码的日志重定向到SLF4J。此外,如果您的类路径上有一个
slf4j-jcl
绑定,它执行相反的重定向,则会得到一个StackOverflowException
。只要从依赖项中删除
slf4j-jcl
,就可以了。