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 緩存:
問題解決。