启动spring boot时报错 java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport

 我在导入一个spring boot项目的时候,启动不了,报了如下错误。

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

看图:

启动spring boot时报错 java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport_第1张图片 启动spring boot时报错 java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport_第2张图片

自我分析:

我用的jdk是21版本,但是我看到这个项目是springboot 2XX版本,所以我怀疑是我的jdk版本太高了,springboot版本太低导致。 

 正确做法:

点击file然后点击 Project Structure

启动spring boot时报错 java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport_第3张图片

果然我的spring boot2XX版本用的 sdk和Language level用的都是高版本的。

启动spring boot时报错 java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport_第4张图片

切换成sdk和Language level为8版本的

启动spring boot时报错 java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport_第5张图片

全都改好之后的效果:

启动spring boot时报错 java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport_第6张图片

然后再次启动spring boot

启动spring boot时报错 java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport_第7张图片

启动成功了。 

你可能感兴趣的:(开发中的错误解决,java,spring,boot,后端)