首页 > 编程语言 >org/springframework/boot/maven/RepackageMojo has been compiled by a more recent version of the Java

org/springframework/boot/maven/RepackageMojo has been compiled by a more recent version of the Java

时间:2023-09-21 17:56:54浏览次数:34  
标签:插件 Java 版本 compiled boot 模块 打包

项目场景:
项目中执行clean,再执行install时报错,错误如下

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

问题描述

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,再次打包就可以了

 

总结:
 因为之前有些模块的打包插件的版本也没有添加是可以正常使用的,但是今天突然不行了,后来发现spring boot 3.0版最近正式发布了,3.0版是基于java 17 的,不指定的话,默认引用最新的导致这种问题的发生,所以大家做的时候,所有模块的打包插件的版本一定要指定一下,避免出现这种问题,当然这个版本号最好在总的pom文件中定义一下,子模块中直接引用就可以了,不用在每个子模块中一一定义了
————————————————
版权声明:本文为CSDN博主「linab112」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_72167535/article/details/128035836

标签:插件,Java,版本,compiled,boot,模块,打包
From: https://www.cnblogs.com/csjoz/p/17720578.html

相关文章

  • java日期时间类现在(java8及以后版本)推荐使用java.time 包中的类
    以下信息由AI模型"文心一言"提供,仅供参考:在Java8之后,推荐使用新的日期和时间API,即java.time包中的类。主要有以下原因:更好的设计和功能:新的日期和时间API在设计和功能上都更优。它包括时间、日期、时间间隔等更全面的表示,并支持更准确的计算和格式化。更全面的时间......
  • JavaScript实现数组对象去重
    有多种实现方式:一、使用 Set 对象:1Array.from(new Set(array))该方法会先创建一个 Set 对象,然后再使用 Array.from 方法将 Set 对象转换为数组,因为 Set 对象不允许有重复的元素,所以这样可以实现去重的效果。但是,如果数组中的元素是对象,Set 对......
  • java定时器
    好多朋友用过Windows的任务计划,也有不少程序迷自己曾写过时钟报警、系统自动关机等趣味程序,可却很少有朋友在Web工程中实现过类似功能。  有人说Timer只能规定从现在开始的多长时间后,每隔多久做一次事或在什么时间做一次事,那我想在每月1号或每天12点做一项工作如何做呢?你只要......
  • BootstrapBlazor.Splitting 加载动画组件
    BootstrapBlazor.Splitting加载动画组件介绍本Blazor组件依赖于BootstrapBlazor组件库开发,底层由Splitting.js和gsap.js实现。使用该组件库之前需要先安装BootstrapBlazor.Splitting组件独立包。可以通过nuget命令行安装NuGet\Install-PackageBootstrapBlazor.Splitting-V......
  • HBase(扫描HBase表的数据转化为对应的类Java代码)
    Msg实体类packagecom.xxxx.test01;publicclassMsg{privateStringname;privateStringbumen;privateStringaddress;privateStringdiyu;privateStringwangzhi;privateStringemail;privateStringdaibiao;privateStr......
  • MySQL数据库查询对象空值判断与Java代码示例【含面试题】
    AI绘画关于SD,MJ,GPT,SDXL百科全书面试题分享点我直达2023Python面试题2023最新面试合集链接2023大厂面试题PDF面试题PDF版本java、python面试题项目实战:AI文本OCR识别最佳实践AIGamma一键生成PPT工具直达链接玩转cloudStudio在线编码神器玩转GPUAI绘画、AI讲话、......
  • Java(day20):泛型和枚举
    前言Java是一种面向对象的、跨平台的编程语言,在软件开发中应用广泛。在Java中,泛型和枚举是两种重要的特性,它们能够提高代码的可读性和重用性。本文将介绍Java泛型和枚举的概念、语法、使用方法、测试用例等方面。摘要泛型是Java的一种抽象类型,它允许使用者在编写代码时不指定数......
  • 资深java面试题及答案整理
    编写Java程序时,如何在Java中创建死锁并修复它?经典但核心Java面试问题之一。如果你没有参与过多线程并发Java应用程序的编码,你可能会失败。如何避免Java线程死锁?如何避免Java中的死锁?是Java面试的热门问题之一,也是多线程的编程中的重口味之一,主要在招高级程序员时......
  • java通过连接ssh来实现postgres数据库的数据备份
    引入依赖<dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.54</version><scope>compile</scope></dependency&g......
  • 基于Java开发的数字化询价招标采购系统(SRM系统源码)
    在如今商业环境中,企业的采购流程变得越来越重要。传统的采购方式可能存在诸多弊端,例如效率低下、信息不透明、易滋生腐败等。为了解决这些问题,许多企业开始转向SRM(供应商关系管理)系统。本文将详细介绍SRM数字询价招标系统,包括其概念、功能和优势。系统展示和获取代码方式在文末。......