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选项即可

相关推荐
愣头不青18 小时前
617.合并二叉树
java·算法
always_TT18 小时前
C语言中的字符与字符串(char数组)
c语言·开发语言
forAllforMe19 小时前
LAN9252 从机寄存器配置--C语言举例
c语言·开发语言
weixin_5375904519 小时前
《C程序设计语言》练习答案(练习1-4)
c语言·开发语言
chushiyunen19 小时前
python中的内置属性 todo
开发语言·javascript·python
麦麦鸡腿堡19 小时前
JavaWeb_请求参数,设置响应数据,分层解耦
java·开发语言·前端
2301_8194143019 小时前
C++与区块链智能合约
开发语言·c++·算法
不想看见40420 小时前
Valid Parentheses栈和队列--力扣101算法题解笔记
开发语言·数据结构·c++
炸膛坦客20 小时前
单片机/C/C++八股:(十五)内存对齐、结构体内存对齐
c语言·开发语言·单片机
娇娇yyyyyy20 小时前
QT编程(13): Qt 事件机制eventfilter
开发语言·qt