问题描述
在更新自建基础项目过程中,compile、install报错。
Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree 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>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version></dependency>
请注意,如果在经过上述尝试后,即使重新运行构建后仍然出现错误,可能是由于 IntelliJ 有一些缓存仍在获取以前的 lombok 版本。在这种情况下尝试以下方法之一:
Maven > Reload,或者右键单击 pom.xml 文件并选择 Maven > Reimport重新启动 IntelliJ终极解决方案:
找到maven本地仓库,删除之前的Lombok本地仓库,重新启动 IntelliJ,并reload maven。