当前位置: 首页 > news >正文

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

在运行项目时出现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这样的报错

解决方法

1.第一步:在pom文件中将lombok的版本改成最新的

此时1.18.34是新版本,

然后刷新。

2.第二步:把该项目在终端打开,然后输入:mvn idea:idea

按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' 通常是由以下几个原因引起的:

  1. Lombok 版本不兼容:Lombok 的某些版本可能不兼容你当前使用的 JDK 版本。

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

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

解决步骤解释

第一步:更新 Lombok 版本

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

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

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

    xml

    深色版本

    <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.34</version><scope>provided</scope>
    </dependency>
    • 刷新:保存 pom.xml 文件后,刷新 Maven 项目,确保依赖项被正确下载和解析。在 IntelliJ IDEA 中,你可以右键点击项目,选择 Maven -> Reload Project

第二步:重新生成 IDEA 项目文件

  1. 在终端中运行 mvn idea:idea

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

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

    sh

    深色版本

    mvn idea:idea
    • 效果:这个命令会:

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

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

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

综合效果

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

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

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

具体步骤总结

  1. 更新 Lombok 版本

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

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

  2. 重新生成 IDEA 项目文件

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

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

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

http://www.lryc.cn/news/487216.html

相关文章:

  • 前端三大件之CSS
  • C语言 | 指针 | 野指针 | 数组指针 | 指针数组 | 二级指针 | 函数指针 | 指针函数
  • mysql 的乐观锁和 mvcc 是一回事吗
  • redis的击穿和雪崩
  • java中创建多线程的4种方式
  • MATLAB深度学习(二)——如何训练一个卷积神经网路
  • 删除k8s 或者docker运行失败的脚本
  • 重置docker版本的octoprint管理员账号密码
  • prometheus监控数据远程写入Kafka集群
  • Excel使用-弹窗“此工作簿包含到一个或多个可能不安全的外部源的链接”的发生与处理
  • C++小白实习日记——Day 2 TSCNS怎么读取当前时间
  • 【Pythonr入门第二讲】你好,世界
  • 3D Streaming 在线互动展示系统:NVIDIA RTX 4090 加速实时渲染行业数字化转型
  • Oracle 单机及 RAC 环境 db_files 参数修改
  • 消息中间件分类
  • 讯飞、阿里云、腾讯云:Android 语音合成服务对比选择
  • SpringBoot开发——整合AJ-Captcha实现安全高效的滑动验证码
  • Spring Security 核心组件
  • 聚焦 AUTO TECH 2025华南展:探索新能源汽车发展新趋势
  • Python-简单病毒程序合集(一)
  • [STM32]从零开始的STM32 HAL库环境搭建
  • Docker部署Kafka SASL_SSL认证,并集成到Spring Boot
  • Pr:音频过渡
  • HarmonyOs鸿蒙开发实战(17)=>沉浸式效果第二种方案一组件安全区方案
  • 从 const 到 mutable:C++ 中的优雅妥协与设计智慧
  • CC工具箱使用指南:【CAD导出界址点Excel】
  • 制作图片马常用的五种方法总结
  • 深入解析MySQL中的事务处理
  • TCP Analysis Flags 之 TCP Dup ACK
  • r-and-r——提高长文本质量保证任务的准确性重新提示和上下文搜索的新方法可减轻大规模语言模型中的迷失在中间现象