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

文章目录
  1. 1. 问题
  2. 2. 原因分析
  3. 3. 解决方案
    1. 3.1. 方案一:让idea的lombok插件支持项目中低版本的lombok包(推荐)
    2. 3.2. 方案二:升级项目中lombok包的版本

问题

idea启动项目报错如下:

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

原因分析

log是在编译阶段被编译为正常的java代码的,这里报错找不到符号,应该是lombok的版本和idea里面的lombok插件不匹配导致的。

所以这里可以看下idea里面的lombok配置,如图:

20230418164148

这里我们看到,idea里面的lombok插件确实会对项目里面引入的低版本lombok做一些兼容操作。

所以怀疑这里的配置没有生效,也就是在启动java程序的时候,option参数没有加上去,所以导致编译期找不到对应的log占位符处理器。

解决方案

方案一:让idea的lombok插件支持项目中低版本的lombok包(推荐)

在idea的编译期部分,手动指定该参数,配置如下:

-Djps.track.ap.dependencies=false

20230418164434

方案二:升级项目中lombok包的版本

1
2
3
4
5
6
7
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.26</version>
<scope>provided</scope>
</dependency>

20230418164801