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

运行JHipster微服务时遭遇StaticLoggerBinder类未找到错误

JHipster 7.9.3 bootRun及集成测试失败排查与解决

JHipster 7.9.3版本下,执行bootRun任务或运行集成测试时均失败,核心异常为NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder,完整异常日志(中文翻译版)如下:

18:10:34.171 [Thread-0] DEBUG org.springframework.boot.devtools.restart.classloader.RestartClassLoader - 创建RestartClassLoader实例:org.springframework.boot.devtools.restart.classloader.RestartClassLoader@729164cf
"restartedMain"线程中出现异常:java.lang.reflect.InvocationTargetException
        在java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        在java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        在java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        在java.base/java.lang.reflect.Method.invoke(Method.java:566)
        在org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
引起原因:java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
        在org.springframework.boot.logging.logback.LogbackLoggingSystem.getLoggerContext(LogbackLoggingSystem.java:293)
        在org.springframework.boot.logging.logback.LogbackLoggingSystem.beforeInitialize(LogbackLoggingSystem.java:118)
        在org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationStartingEvent(LoggingApplicationListener.java:238)
        在org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:220)
        在org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
        在org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
        在org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
        在org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:131)
        在org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:79)
        在org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:56)
        在java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
        在org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:120)
        在org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:56)
        在org.springframework.boot.SpringApplication.run(SpringApplication.java:299)
        在com.kursaha.flash.FlashApp.main(FlashApp.java:70)
        ... 5个更多异常栈帧
引起原因:java.lang.ClassNotFoundException: org/slf4j/impl/StaticLoggerBinder
        在java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        在java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        在java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 20个更多异常栈帧

解决方法

该异常是因为SLF4J日志框架缺少具体实现依赖导致的,JHipster默认使用Logback作为日志实现,可按以下步骤修复:

  • 确保日志依赖完整:

    1. Maven项目:检查pom.xml中是否包含Spring Boot日志starter依赖,若缺失则添加:
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-logging</artifactId>
    </dependency>
    

    该依赖会自动引入SLF4J API和Logback实现,无需单独添加其他相关包。

    1. Gradle项目:检查build.gradle中是否包含:
    implementation 'org.springframework.boot:spring-boot-starter-logging'
    
  • 清理重建项目:

    • Maven执行命令:mvn clean install
    • Gradle执行命令:./gradlew clean build
  • 排查依赖冲突:
    用依赖分析命令查看是否存在日志框架冲突:

    • Maven:mvn dependency:tree
    • Gradle:./gradlew dependencies
      若发现其他日志框架(如Log4j)的依赖,需排除冲突项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:45:42