目录
问题描述
解决方案:升级 Lombok 版本
在 Maven 项目中升级 Lombok
总结
|
1 |
我们知道 `@Data` 是 Lombok 提供的一个注解,用于自动生成 Java 类的 getter、setter、`toString`、`equals` 和 `hashCode` 方法,从而简化实体类的代码编写。 |

在使用 Lombok 的 @Data 注解时,可能会遇到以下错误:
|
1 2 |
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 版本**不兼容**导致的,特别是在升级到 JDK 21 及以上版本后,Lombok 可能无法正确解析 Java 语法树,导致此异常。 |
|
1 |
如果不想降低 JDK 版本(对于JDK 17 及以上的版本),可以选择升级 Lombok 版本,使其与新的 JDK 兼容。例如,可以将 Lombok 版本升级到 `1.18.32` 及以上。 |
修改Maven项目中的 pom.xml 文件,添加或更新以下依赖:
|
1 2 3 4 5 |
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.32</version> </dependency> |
然后在该Maven项目的终端下执行以下命令,清理并重新编译项目:
|
1 |
mvn clean compile |
NoSuchFieldError,可能是 Lombok 版本与 JDK 版本不匹配。**1.18.32** 及以上),确保与 JDK 兼容。希望这篇文章能帮助你解决 Lombok 和 JDK 版本不兼容的问题!
from:https://blog.csdn.net/Python_0011/article/details/156563498