问题描述
基于 Spring Boot 的项目中,编译时显示找不到 log 属性。查看对应的 class 类,Lombok 正常在编译时生成 log 属性。
同时存在另一个问题,使用@Getter
问题排查
可能是 Lombok 版本过低的问题,使用更高版本的 Lombok:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.38</version>
<scope>provided</scope>
</dependency>
可能是 IDE 版本过低的问题,升级 Idea 到 24.1.X。
升级方法可以阅读。
确保 Idea 已经安装了 Lombok 插件,且 enabled:
确保编译器相关设置正确:
小技巧,可以通过编译面板上的设置按钮快速定位到编译器相关设置:
确保编译时使用了正确的注解处理器(Annotation Processor):
需要注意的是,要确保当前项目编译时候使用的注解处理器(Annotation Processor)是使用项目类路径(project classpath)下的注解处理器:
很奇怪的是,Idea 经常性的会将其指定为 mvn 仓库中 unknown 版本的 Lombok 注解处理器。
检查 JVM 版本是否最新版:
这里我的 VM options 没有配置任何额外参数:
问题解决
经过上面的排查,问题依然存在,最后通过以下方式解决。
使用以下命令重新生成 idea 相关配置文件:
mvn idea:idea
清理 Idea 缓存:
文章评论