一·问题
今天使用maven编译苍穹外卖项目compile生成target文件时报错
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project sky-common: Fatal error compiling: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid' -> [Help 1]
二.问题原因
版本不匹配:你可能正在使用不同版本的javac编译器和相关的工具库。我这里是jdk与代码指定版本不同。例如,你的代码是为某个特定版本编写的,而运行时使用的是另一个版本。苍穹外卖的目标字节码版本为1.8要求jdk为1.8.0版本
电脑使用的maven插件版本是3.9.8
IDEA项目结构使用jdk版本为22.0.2,配置的系统环境变量也是22.0.2
三.解决方法
1.首先将项目结构的sdk更改为jdk1.8.0版本
2.将系统环境变量更改为jdk1.8.0
修改设置后需要重启IDEA,设置才会生效。
3.双击clean清除之前生成的target文件,再双击compile重新编,问题解决。