JDK8升级到JDK17,报错Error:java:错误:不支持的发行版本5

1 问题描述:

我原来用到是JDK8,后来重新安装了JDK17后,并更换了JAVA_HOME的配置,在CDM上面查看JAVA版本确认安装无误。

当我打开IDEA运行代码时,就报错java:错误:不支持的发行版本5,至始至终我都没安装过JDK5

2 原因分析

是因为当windows系统从JDK8升级到JDK17后,IDEA对应的配置没有同步更新,还是原来的JDK8那个配置,但是由于更换了windows系统的JAVA_HOME路径,导致IDEA找不到JDK8了,所以IDEA就默认把配置改为了JDK5,但是代码是JDK都不是5这个版本,所以运行代码时就会报错了。

3 解决方案

只需要检查并修改IDEA三个如下地方的配置即可:

3.1 java Compiler 配置修改

修改前:

可以看到,IDEA默认给了1.5版本

修改后:

注意:这里的配置下拉框没有17,可以手动输入17即可

3.2 project SDK 配置修改

这里是下拉框选择出来的,正常安装好JDK后,就会出现对应的版本号的JDK选项,如果选项中没有,读者就要检查JDK是否安装成功,在CDM命令下输入Java - version 查看是否有JDK版本信息,并且和预期的一致。

3.3 modules Language level 配置修改

注意:如果有多个modules 要逐一检查每个modules的配置是否都已更改,这个配置下拉框没有JDK17的选项 ,选择 project default选项即可

相关推荐
じ☆ve 清风°2 小时前
JavaScript 原型与原型链:深入理解 __proto__ 和 prototype 的由来与关系
开发语言·javascript·原型模式
BillKu2 小时前
Java + Spring Boot + Mybatis 实现批量插入
java·spring boot·mybatis
YuTaoShao2 小时前
Java八股文——集合「Map篇」
java
有梦想的攻城狮4 小时前
maven中的maven-antrun-plugin插件详解
java·maven·插件·antrun
_r0bin_6 小时前
前端面试准备-7
开发语言·前端·javascript·fetch·跨域·class
zhang98800006 小时前
JavaScript 核心原理深度解析-不停留于表面的VUE等的使用!
开发语言·javascript·vue.js
硅的褶皱7 小时前
对比分析LinkedBlockingQueue和SynchronousQueue
java·并发编程
MoFe17 小时前
【.net core】天地图坐标转换为高德地图坐标(WGS84 坐标转 GCJ02 坐标)
java·前端·.netcore
季鸢8 小时前
Java设计模式之观察者模式详解
java·观察者模式·设计模式
Fanxt_Ja8 小时前
【JVM】三色标记法原理
java·开发语言·jvm·算法