【已解决】java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have

未分类2周前发布 gsjqwyl
11 0 0

参考:https://blog.csdn.net/m0_53762408/article/details/143491273

在运行项目时出现java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field ‘com.sun.tools.javac.tree.JCTree qualid’zz这样的报错

【已解决】java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have
解决方法
1.第一步:在pom文件中将lombok的版本改成最新的
【已解决】java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have
此时1.18.34是新版本,
然后刷新。
【已解决】java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have
【已解决】java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have
按enter运行

完成上述两步,再次运行程序就正常了。

下面是报错原因,以及每一步操作原理的解释
错误 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 版本不兼容:Lombok 的某些版本可能不兼容你当前使用的 JDK 版本。

编译器缓存问题:IDE 或构建工具可能缓存了旧的编译结果,导致运行时出现问题。

IDE 配置问题:IDE 可能没有正确识别或处理 Lombok 注解。

解决步骤解释

第一步:更新 Lombok 版本

在 pom 文件中将 lombok 的版本改成最新的:

原因:确保你使用的是最新版本的 Lombok,因为新版本通常会修复一些已知的问题和不兼容性。

操作:编辑 pom.xml 文件,将 Lombok 的版本更新为最新版本,例如 1.18.34。

xml

深色版本

```

    org.projectlombok
    lombok
    1.18.34
    provided



```

刷新:保存 pom.xml 文件后,刷新 Maven 项目,确保依赖项被正确下载和解析。在 IntelliJ IDEA 中,你可以右键点击项目,选择 Maven -> Reload Project。
第二步:重新生成 IDEA 项目文件

在终端中运行 mvn idea:idea:

原因:这个命令会生成或更新 IntelliJ IDEA 的项目文件(如 .iml 和 .ipr 文件),确保 IDE 能够正确识别和处理项目的依赖关系和配置。

操作:在项目根目录下打开终端,运行以下命令:

sh

深色版本

```
mvn idea:idea

```

效果:这个命令会:

生成或更新 .iml 文件,这些文件描述了模块的结构和依赖关系。

生成或更新 .ipr 文件,这些文件描述了整个项目的配置。

确保 IntelliJ IDEA 能够正确解析和处理 Maven 项目的依赖关系。

综合效果

通过上述两个步骤,你能够:

确保使用最新的 Lombok 版本:这减少了因版本不兼容引起的问题。

更新 IDE 的项目配置:这确保 IDE 能够正确识别和处理 Lombok 注解和其他依赖关系。

具体步骤总结

更新 Lombok 版本:

编辑 pom.xml 文件,将 Lombok 版本更新为最新版本。

刷新 Maven 项目,确保依赖项被正确下载和解析。

重新生成 IDEA 项目文件:

在项目根目录下打开终端,运行 mvn idea:idea。

这个命令会生成或更新 IntelliJ IDEA 的项目文件,确保 IDE 能够正确识别和处理项目的依赖关系和配置。

通过这些步骤,你的项目应该能够正常运行,不再出现 java.lang.NoSuchFieldError 错误。

© 版权声明

相关文章

暂无评论

暂无评论...