傅里叶变换总结及FFT画图横坐标设置
2026/11/1 1:59:07
有些同学本地只有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'这个错,通常是Lombok与JDK 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中维护的这个版本
具体分析原因如下:
不使用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版本时,需要修改确认的地方,最全的记录