解决Class $JCImport does not have member field ‘

时间:2024-10-20 07:05:54

问题描述

在更新自建基础项目过程中,compile、install报错。

Class $JCImport does not have member field ' qualid'

解决方案

问题原因是Lombok ,与 JDK 21 兼容的最低 Lombok 版本是 1.18.30,最小的 Spring Boot 版本是 3.1.4。

直接先升级lombok至1.18.30或以上版本,若仍不行,再尝试升级Spring Boot 至3.1.4或以上版本。项目当前JDK是1.8、SpringBoot是2.7.13、lombok是1.18.24。

这里在版本管理模块先升级到1.18.30版本、install,各模块问题都解决。

<dependency>
   <groupId></groupId>
   <artifactId>lombok</artifactId>
   <version>1.18.30</version>
</dependency>

请注意,如果在经过上述尝试后,即使重新运行构建后仍然出现错误,可能是由于 IntelliJ 有一些缓存仍在获取以前的 lombok 版本。在这种情况下尝试以下方法之一:

  • Maven > Reload,或者右键单击 文件并选择 Maven > Reimport
  • 重新启动 IntelliJ

终极解决方案:

找到maven本地仓库,删除之前的Lombok本地仓库,重新启动 IntelliJ,并reload maven。