前言:本人小白一枚,最近在自学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})”这一方法,但是至少在我的环境下是不管用的。因此当遇到问题的时候不要盲目尝试,要多读一读报错信息说不定自己就能找到答案。

以上。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐