在Java中,如果你使用了@Slf4j
注解但是编译时报错“找不到符号: 变量 log”,这通常是因为SLF4J的API并没有自动注入logger实例到你的类中。
@Slf4j
是Lombok库提供的注解,它可以自动生成一个日志器(Logger)对象。但在使用这个注解之前,请确保你已经正确地在项目中引入了Lombok库,并且你的IDE或构建工具(如Maven、Gradle)已正确配置支持Lombok。
具体解决步骤如下:
- 确保已经在pom.xml文件中添加了Lombok的依赖(如果是Maven项目):
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
</dependencies>
请替换为最新版本。
-
对于IDEA等IntelliJ系列IDE,需要安装并启用Lombok插件,然后重启IDE使得更改生效。
-
在报错的类上加上
@Slf4j
注解后,直接使用log.info()
等方式调用日志API,无需手动创建Logger实例。
如果以上步骤都已完成,但问题依然存在,尝试清理并重新构建项目(Invalidate Caches / Restart 或者 Rebuild Project)。