Spring Boot 3.2.1(Kotlin)启动报错:this.logger为null引发空指针
Spring Boot 3.2.1(Kotlin)启动NPE问题求助
问题详情
- 技术栈:Kotlin + Spring Boot 3.2.1
- 启动报错:
Cannot invoke "org.apache.commons.logging.Log.isDebugEnabled()" because "this.logger" is null - 已做排查:
- 参考过两个同类问题,但异常触发时机与自身场景不符,未找到有效解决方案
- 搜索大量同类错误,均不匹配当前情况
- 不熟悉启动调试流程,无法进一步定位问题
- 报错截图:

排查建议
- 检查自定义Filter/Interceptor:如果项目里有继承
GenericFilterBean或类似Spring基础Bean的自定义组件,确认是否在初始化阶段(比如构造函数、@PostConstruct之前)提前调用了logger相关方法——这类Bean的logger由Spring注入,提前调用会导致logger未初始化抛出NPE - 排查依赖冲突:用
./gradlew dependencies(Gradle)或mvn dependency:tree(Maven)查看commons-logging相关依赖,检查是否存在版本冲突或重复引入,Spring Boot 3.x对该依赖的版本有兼容要求 - 检查Bean初始化逻辑:确认是否存在手动实例化Spring组件的情况,若组件未通过Spring容器管理,logger无法被正常注入
- 调试步骤:
- 给
GenericFilterBean的setLogger方法打断点,确认logger注入是否在isDebugEnabled调用之前完成 - 定位报错栈帧对应的类和方法,查看该类中logger的初始化方式,若为手动初始化需检查是否已完成赋值
- 给
内容的提问来源于stack exchange,提问作者Nanxia
相关产品推荐
相关产品推荐

