You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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无法被正常注入
  • 调试步骤:
    1. 给GenericFilterBean的setLogger方法打断点,确认logger注入是否在isDebugEnabled调用之前完成
    2. 定位报错栈帧对应的类和方法,查看该类中logger的初始化方式,若为手动初始化需检查是否已完成赋值

内容的提问来源于stack exchange,提问作者Nanxia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 18:15:00