> 技术文档 > 解决报错:java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport

解决报错:java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport


解决报错:java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field ‘com.sun.tools.javac.tree.JCTree qualid’

报错的原因是:java.lang.NoSuchFieldError 是一个运行时错误,当 Java 虚拟机(JVM)试图访问一个类的特定字段,但该类在编译时存在该字段,而在运行时却找不到该字段时,就会抛出此错误。在你的情况中,错误提示表明 com.sun.tools.javac.tree.JCTree$JCImport 类没有 com.sun.tools.javac.tree.JCTree qualid 这个成员字段。

当使用jdk21后,Lombok编译无法访问内部Java编译器API所导致的

解决

将lombok的版本升级到1.18.30及以上,这些版本修复了此问题

  org.projectlombok lombok 1.18.32