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

02_解决Class com.sun.tools.javac.tree.JCTree

解决Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field ‘com.sun.tools.javac.tree.JCTree qualid’

问题描述:

今天在启动SpringBoot项目时,遇见java: java.lang.NoSuchFieldError报错。

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: java.lang包下没有这样的字段错误: 类 com.sun.tools.javac.tree.JCTree$JCImport 没有名为 'com.sun.tools.javac.tree.JCTree qualid' 的成员字段

故障排查

问题原因:LombookJDK 版本不兼容。

  • 项目 JDK 版本:JDK21
  • Lombok 版本:1.18.26
  • Springboot 版本:2.7.12

故障解决

  • 降低 JDK 版本

    需将 JDK 版本降为 JDK17 及以下。

  • 提升 Lombok 版本

    需将 Lombok 版本升为 1.18.28 及以上。

由于本项目为 Springboot 项目,Lombok等依赖的版本已经被 Springboot给指定,所以建议要么调整 Springboot 的版本,不建议手动指定 Lombok 版本。

故障总结

版本,不建议手动指定 Lombok 版本。

故障总结

在启动 Spring Boot 项目时遇到了 java.lang.NoSuchFieldError 错误,原因是使用的 Lombok 版本 (1.18.26) 与当前 JDK21 不兼容。通过将 JDK 版本降为 JDK17 或提升 Lombok 至版本 1.18.28 及以上可解决问题。鉴于 Spring Boot 管理着依赖的版本,建议调整 Spring Boot 的版本以确保兼容性,而不是手动指定 Lombok 的版本。

相关文章:

  • 【失败总结】Win10系统安装docker
  • FTP客户端实现(文件传输)
  • DreamDiffusion的mae_for_eeg.py网络架构
  • 基于maven-jar-plugin打造一款自动识别主类的maven打包插件
  • [Spring]SSM整合
  • 游戏引擎学习第238天:让 OpenGL 使用我们的屏幕坐标
  • 基于Redis实现RAG架构的技术解析与实践指南
  • idea中运行groovy程序报错
  • 【perf】perf工具的使用生成火焰图
  • 基于 OpenCV 的图像与视频处理
  • Kubernetes(k8s)学习笔记(二)--k8s 集群安装
  • React+TS编写轮播图
  • 计算机视觉cv入门之Haarcascade的基本使用方法(人脸识别为例)
  • 【后端】【Django】Django 模型中的 `clean()` 方法详解:数据校验的最后防线
  • 【人工智能】推荐开源企业级OCR大模型InternVL3
  • css3新特性第四章(渐变)
  • 【条形码识别改名工具】如何批量识别图片条形码,并以条码内容批量重命名,基于WPF和Zxing的开发总结
  • 【iOS】alloc init new底层原理
  • 嵌入式---零点漂移(Zero Drift)
  • 网络设备基础运维全攻略:华为/思科核心操作与巡检指南
  • 江西省人大教育科学文化卫生委员会主任委员王水平被查
  • 中国房地产报:以改促治实现楼市多难并解
  • 海拔四百公里的救赎
  • 管理规模归零,华夏基金“ETF规模一哥”张弘弢清仓卸任所有产品
  • 石黑一雄《莫失莫忘》与“克隆人”:殖民地的记忆与行动
  • 林间徐行寻风眠——关于浙美“徐宗帅捐赠纪念展”