Maven运行应用出现SLF4J加载StaticLoggerBinder类错误,求解决
解决SLF4J加载StaticLoggerBinder失败的问题
问题根源
你遇到的错误本质是:SLF4J API已引入,但运行时缺少对应的日志实现类。你的slf4j-simple依赖被设置了<scope>test</scope>,这个作用域的依赖仅在单元测试阶段生效,运行主程序(main方法)时不会被加入类路径,导致SLF4J找不到实现类,只能默认使用无操作的NOP日志实现。
解决办法
方案1:调整slf4j-simple的依赖作用域
直接移除slf4j-simple的scope配置,让它在运行时也能被加载:
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.30</version> </dependency>
方案2:替换为生产级日志实现(如Logback)
如果需要更强大的日志功能(比如日志分级、输出格式配置),可以用Logback替代slf4j-simple。Logback自带SLF4J API,无需单独引入slf4j-api:
<!-- 移除原有的slf4j-api和slf4j-simple,添加以下依赖 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency>
验证步骤
修改pom.xml后,执行以下命令重新构建项目:
mvn clean package
再运行主程序,此时logger.info("Test 1,2,3")的日志应该能正常输出。
内容的提问来源于stack exchange,提问作者Ferich1
相关产品推荐
相关产品推荐

