Springboot启动报错[ main] o.s.boot.SpringApplication: Application run failed(佷有可能是版本问题)

Springboot启动报错[ main] o.s.boot.SpringApplication: Application run failed(佷有可能是版本问题)前言:本人小白一枚,最近在自学JAVA时遇到了一个小问题,在网上求解无果后,自己找到了原因,这里跟大家分享一下。开发环境:Win10;IntelliJIDEA2021.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.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言:本人小白一枚,最近在自学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程序。

报错信息:Springboot启动报错[ main] o.s.boot.SpringApplication: Application run failed(佷有可能是版本问题)

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

以上。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195826.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • windows cmd命令大全及详解_win10 cmd命令

    windows cmd命令大全及详解_win10 cmd命令命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在不同的操作系统环境下,命令提示符各不相同。在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统。一、启动CMD命令提示符控制器“开始”→“运行”→输入“cmd”回车;或者:win+R(两个键同时按)打开“运行”窗口→输…

    2022年9月22日
    0
  • jenkinsfile docker_python安装虚拟环境

    jenkinsfile docker_python安装虚拟环境前言之前我们用docker手动安装了jenkins环境,在jenkins中又安装了python3环境和各种安装包,如果我们想要在其他3台机器上安装,又是重复操作,重复劳动,那会显得很low,这里可以

    2022年7月28日
    3
  • @RequestParam和@PathVariable的用法与区别

    @RequestParam和@PathVariable的用法与区别SpringBoot——@PathVariableURL变量Web应用中的URL通常不是一成不变的,例如微博两个不同用户的个人主页对应两个不同的URL:http://weibo.com/user1和http://weibo.com/user2。我们不能对于每一个用户都编写一个被@RequestMapping注解的方法来处理其请求,也就是说,对于相同模式的URL(例如不同用户的主页,他们…

    2022年6月28日
    19
  • 海思35xx实现GT911触摸屏功能「建议收藏」

    海思35xx实现GT911触摸屏功能「建议收藏」海思35xx通过gpio模拟i2c实现GT911触摸功能1.遇到的问题地址选配后一直不对,首先检测硬件问题,然后通过调试驱动部分,打印调试从设备给的ack(没有逻辑分析仪);发现寄存器地址一直为FF或00,检查发现GT911地址均为16bit,而读写i2c接口是8位的;成功后点击触摸板点击位置与实际不一致;可以进行坐标转换;2.网上下载GT91xx编程指南文件电容触摸芯片GT911Datasheet文件3.Datasheet分析(1)gpio模拟时,可能需要注意这个延时时间;

    2022年6月22日
    53
  • CentOS7 添加FTP用户并设置权限

    CentOS7 添加FTP用户并设置权限

    2021年10月19日
    41
  • C语言read函数

    C语言read函数从文件中读取指定大小的字节函数read()语法:ssize_tread(intfd,void*buf,intcount)说明:read函数从指定的打开的文件fd中读取指定大小count的字节到从buf开始的缓冲区中.返回值:若读取失败则返回-1.读取成功则返回实际读取到的字节数,有两种情况:…

    2022年6月22日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号