一.使用IDEA异常处理报错: springboot项目报错java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'
二.可能存在的问题:
1.此错误最常见的原因是编译和运行时使用的 Java 版本不一致。不同版本的 javac
编译器可能会对内部类结构和字段定义进行修改。
2.在安装时Lombok 版本不兼容:Lombok 的某些版本可能不兼容你当前使用的 JDK 版本。
3.编译器缓存问题:IDE 或构建工具可能有保存了旧的编译结果,导致运行时出现问题突然报错。
4.IDE 配置问题:IDE 可能没有正确识别或处理 Lombok 注解。
三、解决办法
1.使用下面的命令去确定使用的JDK的版本如果使用版本和idea解释器版本不一致,可以通过去修改环境变量去确保一致性。
java -version
javac -version
2.将Maven中的pom使用最新的Lombok版本,并及时的进行同步。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.28</version>
</dependency>
3.在根目录下使用终端检查依赖中是否存在冲突的依赖,如果没有冲突的依赖那就使用 mvn idea:idea
命令去修改更新一下依赖
mvn idea:idea
mvn dependency:tree