@Slf4j 编译报错cannot make a static reference to the non-static field

在SpringBoot服务层使用@Slf4j的@Slf4j注解时出现编译错误。问题在于Java编译器将org.Slf4解析为访问org包下的slf4j字段,而这不是静态字段。解决方法是直接声明静态的Logger对象,如`privatestaticfinalLoggerlog=LoggerFactory.getLogger(LogExample.class);`。
部署运行你感兴趣的模型镜像

springboot service 上打@Slf4j,编译报错。

解决方式:

直接声明log静态对象

private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);

原因:

在这种情况下,java编译器解释org.Slf4作为访问org字段的slf4j字段,这不是一个静态字段,因此我们不能从静态上下文访问该字段。

参考:https://github.com/projectlombok/lombok/issues/2334

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

### 解决常见的 SLF4J 错误 #### 1. 处理 `Failed to load class "org.slf4j.impl.StaticLoggerBinder"` 当遇到此错误时,表明应用程序未能找到合适的绑定实现来初始化 SLF4J 日志框架。这通常发生在未提供具体日志实现库的情况下。 为了修复这个问题,需确保仅有一个具体的日志实现被加入到项目的依赖中。可以选择如下任意一种方式: - 添加 `slf4j-nop.jar` 来禁用所有日志记录[^2]。 ```xml <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-nop</artifactId> <version>1.7.30</version> </dependency> ``` - 使用简单的控制台输出通过添加 `slf4j-simple.jar` 实现。 ```xml <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.30</version> </dependency> ``` - 如果项目已经在使用 Log4J,则应引入 `slf4j-log4j12.jar` 进行适配[^1]。 ```xml <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.30</version> </dependency> ``` - 对于基于 JDK 的日志系统可以选用 `slf4j-jdk14.jar`。 ```xml <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-jdk14</artifactId> <version>1.7.30</version> </dependency> ``` - 或者考虑采用更现代的日志解决方案如 Logback,即添加 `logback-classic.jar`。 ```xml <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> ``` 需要注意的是,在同一应用环境中不应存在多个不同类型的上述 JAR 文件,以免造成冲突。 #### 2. 防止版本不匹配引发的问题 确保所使用的 SLF4J API 和其对应的实现版本相匹配非常重要。如果两者之间的版本差异较大可能会引起各种异常情况。建议保持一致性的最佳实践是让构建工具(Maven/Gradle)管理这些依赖关系,并指定统一的基础版本号。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值