最近的一个项目刚开始时使用的是JDK17,但是因为部分原因,需要换到JDK8
在更改完项目JDK时,再次进行运行时,报出该错误
问题分析
核心问题就是项目版本和JDK版本不匹配,如果你的项目有使用Maven,也要考虑Maven使用的JDK版本和项目的JDK版本是否对应的问题
解决方法(IDEA
1、设置项目JDK
打开项目设置:Project Structure(快捷键Ctrl+Alt+Shift+S)
将项目全局设置为JDK8
每个模块都需要改成JDK8
还有
2、设置Java Complier(快捷键Ctrl+Alt+S)
Settings --> Build, Execution, Deployment --> Complier --> Java Complier
将以下红框中的内容修改为你想要使用的JDK版本
网上大部分的教程,到这里就结束了,但是我修改完以上内容之后,依然没有用
我发现当我每次编译后,目标字节码又会变成JDK17
所以,我回顾了一下整体,发现问题出现在Maven上
因为我Maven使用的JDK17,所以不管我怎么设置IDEA,当编译文件,使用Maven构建项目时,依旧使用的是JDK17
所以我们接下要修改Maven的JDK版本
3、修改Maven的版本
(1)打开Setting.xml文件
打开Maven的安装目录,打开其中的conf文件
(2)修改JDK版本
找到<<profiles>标签,在标签中添加以下代码
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
再次运行时,即可以正常运行