最近在做Springboot项目时,常常出现上述错误,小编也不知道怎么回事,到网上找了这个方面的解决办法,但是却发现根本解决不了,最终通过小编多次尝试,终于发现,为什么会报这个错误。(应该是Java版本和Springboot版本是有一定要求导致的)
小编当前的Java版本为8,也就是jdk1.8,如下:
但是在pom.xml配置文件里不知道为什么却显示我的Java版本为17,如下:
开始小编创建Springboot项目时是选择了Java8的呀!可是为什么pom.xml配置文件又变成了17呢?
经过多次上述这样的操作,小编最终发现这应该是Java版本和SpringBoot版本有要求限制导致的(具体应该是Springboot版本[用的是最新版3.0.5]太高导致的),小编总结了两种解决方法,可能对您有所帮助哈!
1. 解决办法1
如果项目已经创建好了,不想重新创建,可以参考这个解决方法。首先,再pom.xml,把Java的版本改成当初创建项目输入的Java版本,小编的是Java8,所以小编修改为1.8,之后,把Springboot版本也修改修改,改成一个较低的版本,如下:
之后不要忘记在右下角进行重新引入依赖操作。
进行上述修改之后,如果还报上述错误,可以点击File->Project Structure这个选项,如下,查看当前项目的Project和Modules这两项下的东西是否有问题
把上述两项框框中的选项选择合适的即可,报错显示无效的源发行版: 13时其中有一个选项肯定是13-not new language features,把上述两项修改完成之后,如果还报错,应该报的错误不是这个错误了,而是Java版本不一致错误。
把当前项目的Java版本修改成和pom.xml中Java版本一致即可,之后,再运行,可以成功启动。
2. 解决方法2
另外一种方法就是在创建时选择一个较低Springboot版本,如下:
此时可以发现pom.xml配置文件里的相关版本是根据我自定义的,而没有违背我自己的设置(开始选的是最新的Springboot版本时,idea创建的项目的pom.xml配置文件会自动设置Java版本为17)
之后在启动项目,没有问题。