用springboot报了如下错误
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/SpringApplication has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 60.0
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1010)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:855)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:753)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:676)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:634)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
at com.cyk.lead.LeadApplication.main(LeadApplication.java:9)
之前用spring的时候也遇到过这个错误,当时把pom里依赖的版本全部降低就好了,但这次springboot里只有个起步依赖,也没有版本号,下不了手,就准备提高java的运行版本,但不知道应该在哪改
把Springboot的版本降到3.0以下
这个报错是java版本过高,现在项目中配置的java版本是多少的? 目前使用java8的数量比较多,可以适应大部分场景。
有几种解决方法,
执行 echo %JAVA_HOME% 和 java -version,之后设置JAVA_HOME版本到java17或者更高,会fix这个问题
另外就是编译的时候 javac -target 8 com/rollbar/ExampleApp.java,可以改这个target后面的参数
更改IDE版本,类似下图 去改更高java版本
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
...
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
...
</project>
---
希望能够解决题主,和遇到类似问题的同学。