写在前面
- 在进行一些自主学习的时候,发现使用maven方式创建的springBoot项目启动失败,最终发现是SpringBoot版本和JDK版本不对应导致的
- 小折腾一下,记录一下问题解决过程
报错记录
org/springframework/boot/SpringApplication has been ***piled 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
- 啥意思呢?
- 说是当前使用的SpringBoot被version 61.0编译了,而本地版本是 60.0
- 本地JDK版本是 JDK16
- 解决办法
- 升级JDK版本
- 降低SpringBoot版本
- 不管怎么做最起码也要明白SpringBoot版本和JDK版本的一一对应关系不是
如何查找版本对应关系
- 首先进入Spring官网 https://spring.io/
- 查看SpringBoot版本
- 版本标识的意义
- CURRENT:代表了当前版本,最新发布版本,里程碑版本
- GA:通用正式发布版本,同release
- SNAPSHOT:快照版本,可用但非稳定版本
- PRE:预览版本
- RC:(Release Candidate) 软件选版本。系统平台上的发行候选版本。RC版不会再加入新的功能了,主要着重于除错
- Alpha:测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。
- Beta:测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。
- 版本标识的意义
-
- 这么一看,好家伙,3.0.6的SpringBoot需要的JDK版本是JDK17
- 怪不得本地老是报错
- 降低了SpringBoot版本之后,问题成功解决。
最后记录分享一下简单的maven配置
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>org.example</groupId>
<artifactId>spring_learn</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<java.version>16</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.7.11</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.7.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.7.11</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-***piler-plugin</artifactId>
<configuration>
<source>16</source>
<target>16</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.7.11</version>
<configuration>
<mainClass>***.learn.Main</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>