Springboot启动报错[ main] o.s.boot.SpringApplication: Application run failed(佷有可能是版本问题)
前言:本人小白一枚,最近在自学JAVA时遇到了一个小问题,在网上求解无果后,自己找到了原因,这里跟大家分享一下。
开发环境:Win10;IntelliJ IDEA 2021.3.2
版本信息:Java\jdk-17.0.2;apache-maven-3.8.4-bin;springboot2.3.4
编程目的:本人之前对JAVA一窍不通,最近在自学JAVA时想要用JAVA,Springboot和maven搭建一个最基础的helloworld程序。
报错信息:
ERROR后面显示“o.s.boot.SpringApplication : Application run failed”。但这个只是现象,往下拖去看”caused by”部分,有几行很长的信息,别嫌烦,往后拖看看,或者更快捷一点选中两行复制出来看,这样不用一点点拖。会看到如下信息:“Unsupported class file major version 61”
这个提示信息其实已经非常明显了。就是告诉你版本不支持,在一番调研之后,我发现根本原因是我的JDK版本过高了没法适配springboot2.3.4。因此我卸载掉原来的jdk-17.0.2版本后下载了一个jdk-8u291-windows-x64的历史版本,然后别忘了配置PATH环境变量。然后再次进入IDEA运行。
此处有一个小坑,就是如果你之前用的JDK17新建以及运行项目,在你更换版本之后你原来的项目仍旧是JDK17的,不支持你新安装的版本的,因此要改一下编译器设置,以及再次新建一个项目(还有一些配置需要改,这个就不详细说了,直接网上搜索其他帖子讲的更详细),到了项目代码中吼这里如果你直接把原来的项目代码copy过来,会发现仍旧运行不了,首先你去pox.xml中去找以下部分的代码:
<properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> </properties>
这个中间的17就代表你的当前项目中所用到的编译器是17版本的,因此你要把上述代码中的17改为8(或者你新安装的其他版本)。
再次运行程序,不出意外的话,就可以跑起来啦。
pps:在我查找解决办法的时候,试过了”在@SpringBootApplication中排除其注入
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})”这一方法,但是至少在我的环境下是不管用的。因此当遇到问题的时候不要盲目尝试,要多读一读报错信息说不定自己就能找到答案。
以上。
转载请注明:Springboot启动报错[ main] o.s.boot.SpringApplication: Application run failed(佷有可能是版本问题) | 胖虎的工具箱-编程导航