开发避坑指南(65):JDK21升级遇NoSuchFieldError:Lombok兼容性修复

【已解决】java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have Lombok在早期版本中使用反射访问com.sun.tools.javac.tree.JCTree$JCImport类的。这个错误通常是由于升级到Java 21后,Lombok库无法正确访问内部的Java编译器API导致的。将Lombok库升级到1.18.30或更高版本。该版本已经修复了这个问题。这导致了Lombok无法正确访问该字段,从而抛出。字段,该字段在Java 21中的类型发生了变化。通过升级Lombok版本,就可以解决这个。在Java 21及更高版本中, 阅读详情

异常信息

,maven 项目从jdk1.8升级到jdk21后报错:

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版本与JDK 21不兼容导致的

解决办法

1、将Lombok更新到与JDK 21兼容的版本,建议使用1.18.30或更高版本,本人使用idea2025,推荐使用1.18.32。

2、在idea 终端执行命令:mvn idea:idea

该命令的主要作用是‌基于 Maven 项目生成 IntelliJ IDEA 的项目配置文件‌,例如 .iml、.idea 目录等,以便在 IDEA 中顺利打开和管理项目。

3、在idea 终端执行命令:mvn clean compile

更新依赖后,需要清理项目缓存并重新编译项目。

YOLOv8自动驾驶系统 —— 夜间低光照条件 详细说明和完整代码 本文提出一种针对夜间低光照优化的自动驾驶车道保持系统方案,基于YOLOv8模型改进,包含三大核心技术:1.采用Retinex理论的多尺度低光增强算法,结合自适应伽马校正;2.改进YOLOv8的车道检测模型,通过夜间专用数据集训练,增加抗眩光处理;3.多传感器融合框架,整合可见光与红外图像。系统实现动态逆透视变换和参数调整,在Jetson Orin硬件上达到30ms级实时性能。测试显示在无照明、眩光干扰等极端场景下保持稳定,代码已开源。扩展方向包括V2X协同定位和自适应大灯联动控制。 阅读详情

相关推荐

MoveIt控制睿尔曼RM65机械臂:从仿真到实机的3种控制模式对比

本文详细解析了使用MoveIt框架控制睿尔曼RM65机械臂的三种核心模式:拖动规划、目标姿态规划和Python API控制,从Gazebo仿真到实机部署的完整实现路径。通过ROS环境配置、控制参数优化及实机过渡技术,为工业自动化和机器人研究提供实用指南。

727

报错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这样的报错。

m0_53762408的博客 1万+

Godot 城市模拟 – 005 OpenStreetMap 介绍:数据结构与详细示例

**摘要:OpenStreetMap(OSM)是一个开源协作奔驰地图的全球地图项目,采用社区编辑模式Tube数据自由共享。其核心数据结构包括节点(Node)、路径(Way)和关系-关系(Relation),通过标签(Tag)描述属性。节点代表坐标点,路径由节点序列组成线或面,关系则关联多个元素表达复杂地理实体。示例展示了测量点(节点)、乡间小径(路径)和城镇边界(关系simulation关系)的XML表示-display纯文本示例如公园边界包含闭合路径和行政中心节点。OSM的轻量级数据模型支持ising开放

mmx_2022的博客 1319

Java|IDEA 运行和打包报错解决

将 IDEA 的 Project Structure(File > Project Structure)中的 Project 和各个 Modules 的 JDK 版本统一。在部分 IDEA 或 Maven 版本,如果统一上述配置后仍未解决,需再检查系统环境变量与上述配置中的 JDK 版本是否统一。lombok 的 1.18.26 版本兼容性问题,使用 1.18.30 版本即可。

长行 1万+

机器学习模型系列:随机森林的原理和示例介绍

让我们总结一下与其他监督式机器学习模型相比,随机森林的优缺点。优点在许多真实数据集上已知能提供高度准确的模型。通过结合多个决策树的预测,可以捕捉数据集中的复杂交互和模式。通过自动选择相关特征,可以有效处理高维数据集。与单个决策树相比,不容易过拟合。自助采样和每个节点的随机特征选择有助于减少过拟合并改善泛化能力。可以处理包括数值和分类特征在内的异构数据类型。可以处理缺失值而不需要填充。提供特征重要性的度量。集成中的树可以并行训练,因为每个决策树可以独立构建。模型的泛化误差具有理论上的界限。

数智笔记 1万+

告别调试烦恼:用Lattice Diamond手把手教你JTAG烧录FPGA(附SRAM/Flash模式详解)

本文详细介绍了使用Lattice Diamond软件进行JTAG烧录FPGA的全流程,包括SRAM临时调试和Flash固化的核心区别。从环境准备、硬件连接到文件准备、烧录模式选择,再到典型问题排查和高级技巧,手把手教你快速掌握FPGA烧录技术,提升开发效率。

weixin_42569329的博客 495

启动 jeecg项目报错 java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree...

启动 jeecg项目报错 java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field ‘com.sun.tools.javac.tree.JCTree qualid’。

weixin_39676449的博客 7369

基于STM32的馆藏文物保存环境监测系统设计与实现

针对馆藏文物保存环境中温湿度、光照、有害气体等参数波动易导致文物损坏的问题,本文设计了一种基于STM32微控制器的馆藏文物保存环境监测系统。该系统以STM32L431RCT6为核心,集成高精度传感器实现多参数实时采集,通过有线与无线结合的通信方式构建监测网络,具备数据存储、异常预警、远程监控等功能。测试结果表明,系统温湿度测量精度分别达±0.2℃、±2%RH,光照与有害气体检测误差≤5%,可满足文物保存环境的高精度监测需求,为文物保护提供科学的数据支撑。

m0_74026776的博客 1542

java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have membe

lombok版本导致。升级lombok版本。

Pardon_wang的博客 1万+

NBIS单细胞教程:差异基因(五)

此文章是通过学习瑞典国家生物信息学基础设施(NBIS) 所开放的单细胞分析教程加上网上所查找的资料,自身的理解所形成的,可能会有不足之处。该部分是对不同集群之间的差异基因进行分析。参考来源:https://github.com/NBISweden/workshop-scRNAseq/blob/master/labs/seurat/seurat_05_dge.Rmd感兴趣的话可以阅读原文。

songyi10的博客 1万+

基于STM32姿态解算-正点原子ATK-IMU901模块标准库开发——正点原子串口角度传感器模块十轴IMU加速度气压计陀螺仪_资料编号29

购买了正点原子的ATK-IMU901模块后,发现例程给的是HAL库的,本项目将HAL库例程转换为库函数版本(基于STM32)。实战开发,亲测无误。

嵌入式阿齐Archie 3861

【异常】JDK21报错NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member fie

lombok版本兼容性的问题。更新新版 lombok即可。

我是Superman丶的博客 6万+

第8章-认知工程:构建Agent的认知飞轮与自进化《万物皆映射》

认知架构(Cognitive Architecture)是一个系统组织和运行其认知过程的整体设计。对人类而言,认知架构是大脑的结构和功能组织方式;对 AI Agent 而言,认知架构是它处理信息、做出决策、学习经验的系统设计。固定映射 vs 进化映射维度固定映射 Agent进化映射 Agent知识静态(训练时确定)动态(持续积累)策略固定(设计时确定)自适应(经验驱动)工具预定义自主发现/创建错误处理硬编码规则从错误中学习能力边界固定持续扩展在认知工程中,技能。

AI天才研究院 104

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’解决。lombok版本导致。升级lombok版本。

jingyx1的博客 4970

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

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

奔跑文章主要讲解:java报错:java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not hav的解决办法。日期:2024年5月27日作者:任聪聪。

任聪聪的博客 5387

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

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

ImNotNpe的博客 5014

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java 21运行报错Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field ‘com.sun.tools.

解决方法:Lombok和Java21不兼容。再Java21中运行报错。

qq_39304229的博客 1万+

【SpringBoot】JCTree$JCImport does not have member field ‘com.sun.tools.javac.tree.JCTree qualid‘

如果你使用的是Maven或Gradle来管理依赖,你可以在你的项目的构建文件中指定所需的Spring Boot版本。例如,在Maven项目的pom.xml文件中,指定使用Java 17版本和Spring Boot 2.7.6版本。确保你选择的Spring Boot版本与你当前使用的JDK版本兼容。你需要确保你使用的Spring Boot版本与你的JDK版本兼容。可能是你使用的Spring Boot版本与你的JDK版本不兼容。然后在IDEA的项目结构中,修改你的项目SDK,改为兼容的JDK版本。

HEX9CF的技术博客 1万+

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

实际操作下来,发现java版本不对应也会出现这种问题,遇到这种问题 的可以看看自己的java版本对不对。看网上说是因为lombok不兼容问题,修改lombok版本后可以正常编译。

luquanyou的博客 3282

解决异常java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have m

版本不匹配:你可能正在使用的com.sun.tools.javac.tree.JCTree$JCImport类的版本与你的编译器或JDK版本不兼容。例如,如果你的代码依赖于一个特定版本的Javac API,但在不同的环境中使用了不同版本的Javac。更新JDK版本:确保你的项目和所有依赖项都使用相同的JDK版本。如果可能,升级到最新版本的JDK,以获得更好的兼容性和支持。检查依赖库版本:如果你的项目依赖于其他使用Javac API的库,确保这些库的版本与你的JDK版本兼容。这样我就解决问题了,

m0_74172484的博客 6240

解决Maven项目打包时出现的Lombok版本与JDK编译器不兼容问题

可能的原因:Java JDK的版本和lombok的版本不兼容,可以在pom.xml文件中修改依赖的版本来解决,也可以通过修改项目使用的JDK版本来解决(不推荐)可以通过这个地址查看当前版本的lombok支持哪个版本的jdk。

JMJTC的博客 3871

前后端分离项目启动教程

《前后端分离项目启动教程》课程用于帮助同学们启动我的付费资源项目:https://blog.csdn.net/qq_41464123?type=download部分同学们购买了我的付费资源项目后,出现了项目无法启动、无法登录等问题,所以我特意录制这门课程,手把手教大家解决项目的安装问题。课程总体包括前端、数据库、后端三大部分,分为 11 个小节,学习完全免费,帮助同学们更好的入门 Vue 和 SpringBoot,提升实战项目经验。

运行项目出现java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport ...

java.lang.NoSuchFieldError 表示在运行时尝试访问一个不存在的类字段。这个错误通常是由于不同版本的类文件或库之间的不兼容性引起的,尤其是在使用编译器内部 API 或第三方工具时。简单来说就是项目jdk与你使用加载的jdk版本不同,在其他版本中jdk所用的方法已经改变命名或者被迁移,废除,或者是由于你使用的某个插件智能在某个版本jdk中使用。

huasa_666的博客 2921

Lombok和jdk21的兼容性

选了的话 依赖版本就由springboot 父工程 统一管理 可能就会和你的jdk版本产生冲突,导致get set 构造方法没法生成,就会报错。java.lang.NoSuchFieldError 是一个运行时错误,表示某个类中不存在代码试图访问的字段。试图访问的字段是:qualid,其类型为 com.sun.tools.javac.tree.JCTree。出错的类是:com.sun.tools.javac.tree.JCTree$JCImport。

2302_79230324的博客 1537
上一篇: 开发避坑指南(64):修复IllegalArgumentException:参数值类型与期望类型不匹配
下一篇: 开发避坑指南(66):IDEA 2025 Gradle构建安全协议警告:Maven仓库HTTPS切换或允许HTTP的配置方法
帧栈
博客等级 码龄2年 335粉丝 120原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帧栈

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值