大家好,又见面了,我是你们的朋友全栈君。
前言:本人小白一枚,最近在自学JAVA时遇到了一个小问题,在网上求解无果后,自己找到了原因,这里跟大家分享一下。
开发环境:Win10;IntelliJ IDEA 2021.3.2
版本信息:Javajdk-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中去找以下部分的代码:
代码语言:javascript复制<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.cn/195826.html原文链接:https://javaforall.cn