IDEA中 java: 找不到符号 符号: 变量 log

0 阅读2分钟

背景

在运行某一个项目时候,命名已经采用@Slf4j注释,调用log.info()没有显示报错,但运行时候显示找不到符号

11.png

22.png

问题可能

这个注解通常用于自动创建一个SLF4J的日志记录器变量log。如果编译器无法找到这个log变量,可能是由于以下几个原因之一

1. Lombok依赖未正确添加

首先确保项目中已包含正确的Lombok依赖,并且确保该依赖是可用版本

以下是在Maven中的pom.xml文件中的依赖


<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
    <version>1.18.36</version>
</dependency>

2. Lombok插件安装

确保IDEA中已经安装了Lombok插件,可以通过File -> Settings -> Plugins进行搜索

33.png

44.png

3. JDK版本问题

确保项目中使用的JDK版本是jdk8 以上的版本

pom.xml中的配置

55.png

点击Project Structure 查看项目jdk配置,看看跟pom文件中的是否一致

66.png

77.png

4. Annotation Processors未启用

在IDEA 中,要确保启用了Annotation Processors。可以通过以下路径进行设置File -> Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors

11.png

使用从项目类路径即可,不要自定义处理器路径

22.png

更改设置后要执行mvn clean install命令来清理并重新构建项目

一般在IDEA右侧的Maven中选择clean双击即可

33.png

5. 重新导入和构建项目

有时候进行简单的清理重建项目即可解决。

执行mvn clean install命令来清理并重新构建项目

44.png

6. 其他前在问题

还有可能是路径中某些冲突或者Lombok版本等问题。

总结

首先要先见检查上述的问题,确定是哪个环节出现问题,采用相应的措施。

我遇到的问题是因为Annotation Processors启用了,但使用了自定义路径导致报错。

如果用了以上方法仍不能解决,也欢迎大家评论反馈。