DEBUG:Lombok 失效
问题描述
基于 Spring Boot 的项目中,编译时显示找不到 log 属性。查看对应的 class 类,Lombok 正常在编译时生成 log 属性。
同时存在另一个问题,使用@Getter
注解,但实际使用中该注解并没有生效,体现为对应类型转化为 JSON 字符串时,因为没有任何 Getter 方法,导致抛出异常或生成空的 JSON 字符串(具体视不同的 JSON 工具而定)。
问题排查
可能是 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:
确保编译器注解处理相关设置正确:
检查 JVM 版本是否最新版:
这里我的 VM options 没有配置任何额外参数:
问题解决
经过上面的排查,问题依然存在,最后通过以下方式解决。
使用以下命令重新生成 idea 相关配置文件:
mvn idea:idea
清理 Idea 缓存:
问题解决。