news 2026/6/15 15:38:57

阶段三 在做movie这个项目时,有些同学使用本地高版本的JDK21来做这个项目时启动报错

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
阶段三 在做movie这个项目时,有些同学使用本地高版本的JDK21来做这个项目时启动报错

一、错误现象

有些同学本地只有21版本的JDK,然后使用JDK21来做movie这个项目时,启动报错,如图

具体的错误信息:

java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'

二、分析错误原因

这个错,通常是LombokJDK 21(或更高版本JDK)不兼容所导致的问题

具体是因为:题干附件里给的 movie这个项目,使用的springBoot版本是 3.0.5

而每个版本的springBoot,内部都会去管理维护 一些常用依赖jar包的版本号,如下图,就是3.0.5版本的springBoot内部维护的各个依赖的版本号。如下图,3.0.5这个版本的springBoot,内部维护的lombok的版本号默认是1.18.26,所以你的pom里引用lombok时,如果不写version版本号,那它默认用的就是springBoot中维护的这个版本

具体分析原因如下:

  • com.sun.tools.javac.tree.JCTree$JCImport 是 JDK 编译器内部的类,属于 内部 API
  • Lombok 在编译期通过反射或直接操作 AST(抽象语法树)来生成代码(如 getter/setter 等),因此会依赖这些内部API
  • JDK 17+(尤其是 JDK 21)对内部 API 做了大量重构或移除,字段名、类结构可能都发生了变化。例如:在旧版 JDK 中,JCImport 类有一个字段叫 qualid,但在 JDK 21 中该字段可能已被重命名为 qualifiedIdentifier 或其他名称。
  • 如果你使用的 Lombok 版本较旧(如 < 1.18.30),它还不支持 JDK 21 的内部结构变化,就会抛出 NoSuchFieldError。

三、解决方案

第一种方案:

不使用springBoot维护的默认Lombok版本,在项目的pom.xml中显式的把Lombok的版本号写出来,并且使用兼容 JDK 21 版本的Lombok:Lombok 1.18.30 及以上版本 开始正式支持 JDK 21。

推荐使用最新稳定版(截至 2026 年 1 月,最新版为 1.18.34)

<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.34</version> <scope>provided</scope> </dependency>

最后刷新maven,再重新启动项目就可以了

第二种方案:

或者本地安装的有jdk17的话,可以切换jdk的版本到17也可以

idea中切换jdk版本,可以看这一篇:IDEA中切换jdk版本时,需要修改确认的地方,最全的记录

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 14:08:40

VisionPro二开之相机调试界面

VisionPro二开之相机调试界面 一 设置X64二 UI设计txtExposure三 打开相机private CogFrameGrabbers frameGrabbers;// 相机对象private ICogFrameGrabber frameGrabber;/// <summary>/// 采集对象/// </summary>public ICogAcqFifo MyAcfifo { get; set; }public …

作者头像 李华
网站建设 2026/6/15 15:32:57

TDengine C/C++ 连接器进阶指南

本文档面向已经熟练使用 TDengine 的开发者&#xff0c;聚焦 C/C 连接器的高阶用法与工程化落地建议&#xff1a;如何选择连接方式、如何把写入/查询/订阅跑到“更稳、更快、更可运维”&#xff0c;以及一些常见的坑与规避方式。 前置条件 已熟悉 C/C Connector 的基础 API …

作者头像 李华
网站建设 2026/6/15 7:00:19

关于2026年国内人事外包品牌榜前10名排名整理分享!

2026年的企业经营赛道上&#xff0c;“降本增效”依旧是核心关键词&#xff0c;而人事外包早已从“可选项”变成了企业的“刚需配置”。尤其是社保新规收紧、灵活用工模式普及的当下&#xff0c;选对一家靠谱的人事外包品牌&#xff0c;能让HR团队彻底摆脱社保缴纳、薪资核算、…

作者头像 李华
网站建设 2026/6/15 12:29:23

FTP替代升级:为何及如何迈向现代文件传输方案

自1971年诞生以来&#xff0c;文件传输协议&#xff08;FTP&#xff09;已成为全球最广泛使用的文件传输工具之一。然而&#xff0c;随着信息技术快速发展与企业数字化转型的深入&#xff0c;FTP在安全性、效率及管理功能上的局限性日益凸显。在数据爆炸式增长、远程协作成为常…

作者头像 李华
网站建设 2026/6/15 12:28:08

CoT+RAG+AI推理·工程手记 篇四:DeepSeek-R1-0528-Qwen3-8B 模型解析

文章目录 系列文章 Hugging Face 模型仓库结构 DeepSeek 生态 DeepSeek-R1-0528-Qwen3-8B 仓库实例分析 仓库文件清单与默认配置 核心加载流程 自述文件 config.json model.safetensors.index.json tokenizer_config.json 源文件注释版 `chat_template`参数注释版 如何修改这些…

作者头像 李华