开发避坑指南(65):JDK21升级遇NoSuchFieldError:Lombok兼容性修复
异常信息
,maven 项目从jdk1.8升级到jdk21后报错:
java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'
异常分析
这个错误通常是由于Lombok版本与JDK 21不兼容导致的
解决办法
1、将Lombok更新到与JDK 21兼容的版本,建议使用1.18.30或更高版本,本人使用idea2025,推荐使用1.18.32。
2、在idea 终端执行命令:mvn idea:idea
该命令的主要作用是基于 Maven 项目生成 IntelliJ IDEA 的项目配置文件,例如 .iml、.idea 目录等,以便在 IDEA 中顺利打开和管理项目。
3、在idea 终端执行命令:mvn clean compile
更新依赖后,需要清理项目缓存并重新编译项目。
