报错信息
org/springframework/boot/maven/RepackageMojo 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 52.0
解决
原因
在对springboot子项目工程打包时报这个错误
org/springframework/boot/maven/RepackageMojo是由较新版本的Java Runtime(类文件版本61.0)编译的,该版本的Java运行时只能识别52.0以下的类文件版本
通过对应表可知,这个文件是由java 17版本编译的,而现在系统中只能识别java 8以下的版本,java版本不一致导致打包失败,需要在出错的模块的打包插件中设置一个版本就好了
java对应表
49 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14
下面那个可以看到是哪个模块出现的问题上面那个可以看到,打包插件中spring-boot的版本是未知的,这就导致引用最新的版本,造成不一致的问题
解决方案:
找到出错模块的pom文件,设置一下打包插件的版本,和其他模块保持一下,重新刷新一下maven,再次打包就可以了
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--指定版本号后,重新package打包就不会报错了-->
<version>2.3.2.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>