IDEA Error:java: 无效的源发行版: 17错误

672 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第16天,点击查看活动详情

这里记录处理IDEA Error:java: 无效的源发行版: 17错误的全流程.因为这个java 8的设置我没有搞错,不知道怎么自己变成17了,所以这里为防止以后出现这种问题,梳理以下解决流程

一、报错

image.png

这里我能保证我每次创建项目和创建package时,java选择的是8而不是17,因为后续我自己重新搞了两次,还是会出现这样的问题。

二、处理流程

第一步

  • 左上角file -> settings -> 按照以下 image.png

这里改成8

第二步

  • 左上角file -> Projerct Structure -> 按照以下 image.png

第三步

  • 左上角file -> Projerct Structure -> 按照以下 image.png

第四步

image.png

这里改成1.8

仍然报错

image.png

其实就是java 17改成java 8之后版本不对应了,这里放个版本对应表。

JavaMajor version
1963
1862
1761
1660
1559
1458
1357
1256
1155
1054
953
852
751
650
549
1.448
1.347
1.246

所以肯定是某个依赖的版本太高,降低版本即可,具体是哪个依赖就需要自己排查了 我的项目中是

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.0.0</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

这里我直接参考我之前的项目的版本。 image.png

image.png

改为2.7.4,再重新load maven changes,就好了

三、总结

其实创建项目时已经注意了java版本,但是还出现了版本问题,我查了一下默认配置,虽然没找到IDEA的,但是找到个pom.xml配置生成器。

image.png

这里点进入,会进入一个默认配置 spring initialize的界面,可以点击调整。

image.png

其实那个spring-boot-starter-parentjava对应版本关系并没有梳理的特别好,只是参考了之前,找了以下,好像没有最新版本的,有机会梳理一下贴出来。