IDEA编译报错:Error:java:无效的源发行版:17的解决办法
作者:全栈小哥 时间:2023-08-25 10:38:06
出现这种错误的原因可能是:
1.本机默认使用(编译)的jdk与该项目所使用的jdk版本不同。
2.jdk版本不适用于这个Idea,很典型的一个例子就是使用的Idea是2020的,而你用到的jdk是17,jdk17是2021年推出的,所以你只能去安装新版本的idea。
如果报错Error:Auto build failure: Cannot determine path to 'tools.jar' library for 17 (/Library/Java/JavaVirtualMachines/jdk-17.0.4.1.jdk/Contents/Home)也是这个原因导致的。
该项目用的是什么版本的jdk请打开pom.xml查看:
如何解决:
1.修改项目使用的jdk版本,但是如果本来使用的是17,你降级为8,就可能导致某些代码不能实现。 (具体内容请看下面⬇️)
2.安装新版本的Idea从而可以使用新的jdk。(我的另一篇博客说明如何安装IDEA2022,mac版本PoJie)
步骤如下:
1. Preferences->
按如下路径找到java compiler
以下这两处改成8(我的jdk是1.8,如果你的是18,就改成18)
关于怎么知道这个项目用的jdk是多少,下一步可以看到
点击OK
下一步 ,file里找到project structure
如下图,可以看到我使用的jdk版本是1.8
此处对应选择8
接下来在Modules里将红色框里改成8(截图中我还没改,这是我报错的原因)
点击OK,重新编译就OK啦。
ps:当你重导maven项目的之后,再编译可能还会遇到这个问题,按照我上面的办法修改即可,当然你也可以直接去修改pom.xml配置文件,这样子就不会再出现版本问题了。
2.修改pom.xml文件的配置信息
根据报错的信息提供的内容,它说的是某个版本太高需要修改。
3.总结
之前我创建springboot项目的时候还没有爆过这个错误,但是最近我新创建springboot项目时,给我爆了这么一个错误。我找了挺久发现没有详细的解决方法,然后我对比了以前创建的没有爆过错的pom文件,发现上图的两个地方不一样,然后我修改之后就可以成功运行了。然后我回想了一下出现这个问题错误的原因是在哪里,我从刚开始的创建项目开始一步步的观察,最后发现一个地方,问题出现的原因就是在这里。如下图所示:
来源:https://blog.csdn.net/lq5673575/article/details/128421483