IntelliJ IDEA2025+启动项目提示 Failed to instantiate SLF4J LoggerFactory

问题描述

我有一个SpringBoot项目,用IDEA 2023.2.4版本可以正常启动,更新到IDEA 2025以上版本的时候,使用 Debug 调试模式启动就会报错,但是 Run 模式可以正常启动,报错信息:

复制代码
Failed to instantiate SLF4J LoggerFactory
Reported exception:
java.lang.NoClassDefFoundError: Could not initialize class org.apache.logging.log4j.LogManager
	at org.apache.logging.log4j.spring.boot.SpringEnvironmentHolder.getEnvironment(SpringEnvironmentHolder.java:35)
	at org.apache.logging.log4j.spring.boot.SpringPropertySource.containsProperty(SpringPropertySource.java:48)
	at org.apache.logging.log4j.util.PropertiesUtil$Environment.get(PropertiesUtil.java:492)
	at org.apache.logging.log4j.util.PropertiesUtil$Environment.access$200(PropertiesUtil.java:419)
	at org.apache.logging.log4j.util.PropertiesUtil.getStringProperty(PropertiesUtil.java:367)
	at org.apache.logging.log4j.util.PropertiesUtil.getIntegerProperty(PropertiesUtil.java:242)
	at org.apache.logging.log4j.status.StatusLogger.<clinit>(StatusLogger.java:80)
	at org.apache.logging.slf4j.Log4jLoggerFactory.<clinit>(Log4jLoggerFactory.java:35)

解决办法

网上找了好久,都没有类似问题,只能自己排查,感觉应该是和log4j2依赖有关,先排查了一下自己的项目中有哪些 log4j2 相关的依赖,后面发现项目的 log4j-core是2.17.2,但 log4j-spring-boot 是2.14.0:

复制代码
<!-- 解决引入 SpringBoot 配置文件参数问题的依赖-->
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-spring-boot</artifactId>
    <version>2.14.0</version>
</dependency>

把版本升级到 2.17.2 后问题解决,如果遇到相关问题,可以先排查下依赖包的版本是不是不一致。

相关推荐
代码匠心16 小时前
从零开始学Flink:数据转换的艺术
java·大数据·flink
泥嚎泥嚎2 天前
【Android】View 的滑动
java
京茶吉鹿3 天前
三步构建完美树节点,从此告别数据结构焦虑!
java·后端
橙序员小站3 天前
搞定系统设计题:如何设计一个订单系统?
java·后端·面试
是2的10次方啊3 天前
防御性编程:编程界的'安全驾驶'指南
java
金銀銅鐵3 天前
[Java] JDK 25 新变化之构造函数的执行逻辑
java·后端
杨杨杨大侠3 天前
手把手教你写 httpclient 框架(三)- 动态代理与请求处理机制
java·okhttp·github
华仔啊3 天前
王者段位排行榜如何实现?Redis有序集合实战
java·redis·后端
TeamDev4 天前
用一个 prompt 搭建带 React 界面的 Java 桌面应用
java·前端·后端
知其然亦知其所以然4 天前
国产大模型也能无缝接入!Spring AI + 智谱 AI 实战指南
java·后端·算法