没指定spring-boot-maven-plugin版本导致编译失败,这坑你踩过没

文章目录

    • 1. 前言
    • 2. 组件版本信息
    • 3. 事件经过
      • 3.1 本地通过maven命令打包
      • 3.2 定位问题步骤
        • 3.2.1 核对spring-boot-maven-plugin版本信息
        • 3.2.2 spring-boot-maven-plugin版本错误原因
      • 3.3 解决方案
    • 4.结论


1. 前言

我们在平时开发过程中关注的比较多的是项目开发时依赖包的版本以及兼容性问题,而编译、打包时各种插件以及 版本信息关注得相对较少,那么你有没有踩过编译打包的坑呢,本文将详细介绍一次因为编译、打包时没有指定 spring-boot-maven-plugin插件版本而导致编译、打包任务失败的事件,希望能够帮助各位在后续的工作中避坑。

2. 组件版本信息

JDK 1.8
SpringBoot 2.3.7.RELEASE
SpringCloud Hoxton.SR12

3. 事件经过

3.1 本地通过maven命令打包

直接在IDEA中执行打包命令或者命令行执行mvn 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 是通过JDK17编译的,而本地java运行时最高能 支持JDK8版本

class文件中版本号与JDK版本对应关系:

52.0 -> JDK8
61.0 -> JDK17

3.2 定位问题步骤

3.2.1 核对spring-boot-maven-plugin版本信息

通过控制台报错信息:

org.springframework.boot:spring-boot-maven-plugin:3.2.1:repackage (repackage)判定 当前repackage使用的spring-boot-maven-plugin版本是3.2.1

在这里插入图片描述

而spring-boot 3.2.1版本要求JDK版本为17

在这里插入图片描述

当前工程使用的JDK版本为1.8,版本太低

3.2.2 spring-boot-maven-plugin版本错误原因
  • 查看pom中引用的spring-boot-maven-plugin版本

在这里插入图片描述

  • IDEA中查看spring-boot-maven-plugin版本为unknown
    在这里插入图片描述

因为当前工程没有指定spring-boot-maven-plugin的版本,所以工程默认使用了
仓库中最新的版本3.2.1,导致打包失败

3.3 解决方案

为工程指定与spring-boot版本匹配的spring-boot-maven-plugin,重新加载依赖
在这里插入图片描述

4.结论

在平时的项目开发中要注意工程中各种插件版本与工程中其他组件版本的兼容性问题, 避免因一时疏忽带来不必要的麻烦,就像此篇文章中提到的,spring-boot-maven-plugin 版本要和工程中spring-boot版本保持一致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/650967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lightdb object支持static函数

文章目录 背景介绍语法示例 背景 在信创适配中,从Oracle迁移过来的程序使用STATIC函数。为此LightDB从24.1版本开始,对该功能进行了支持。 介绍 LightDB 24.1版本中对象方法包括下列几种: MEMBER方法:MEMBER方法可以被对象实例…

数据结构(绪论+算法的基本概念)

文章目录 一、绪论1.1、数据结构的基本概念1.2、数据结构三要素1.2.1、逻辑结构1.2.2、数据的运算1.2.3、物理结构(存储结构)1.2.4、数据类型和抽象数据类型 二、算法的基本概念2.1、算法的特性2.2、“好”算法的特质2.2.1、算法时间复杂度2.2.2、算法空…

java数学计算工具类 double精确的加法算法 double精确的减法算法

java数学计算工具类 double精确的加法算法 double精确的减法算法 精确的乘法算法 对精确的除法运算,当发生除不尽的 保留小数、数值精度 精确的加法算法:2.27 精确的减法算法:0.01 精确的乘法算法:1.2882 相对精确的除法运算,当发生除不尽的情况时&…

【WebGPU】简介和开始

简介 WebGPU 是一种 API,用于在 Web 应用中访问 GPU 的功能。在 WebGPU 出现之前,有一个 WebGL,它提供了 WebGPU 的部分功能。它开创了一种新的富媒体 Web 内容类别,并且开发者也利用它构建了许多精彩的内容。不过,它…

领域驱动设计(Domain-Driven Design DDD)——通过重构找到深层次模型1

一、概述 重构就是在不改变软件功能的前提下重新设计它。开发人员无需在着手开发之前做出详细的设计决策,只需要在开发过程中不断小幅调整设计即可,这不但能够保证软件原有的功能不变,还可使整个设计更加灵活易懂。 我们面临的真正挑战是找到…

【机器视觉实验】机器视觉实验四——基于knn的场景图像检索、基于SVM的人脸图像识别

一、实验内容 实验内容包含要进行什么实验,实验的目的是什么,实验用到的算法及其原理的简单介绍。 (1) 编程实现基于knn的场景图像检索 a) 至少实现三种特征组合进行检索; b) 使用recall与precision分析不同特征组合对检索精度的影响。 (2) 实现基于SVM的人脸图像识…

java使用MD5加密

java使用MD5加密 源字符串:三四五 使用 UTF-8字符集字符集加密后的结果为:f2615f1dab4520fc1e1a79ed6a4f7b37 用 GB2312 字符集加密后的结果为:1dbb006b41466197c486592727af516f 用 GBK 字符集加密后的结果为:1dbb006b41466197c486592727af516f

TCP 状态转换以及半关闭

TCP 状态转换: 上图中还没有进行握手的时候状态是关闭的。 三次握手状态的改变: 客户端发起握手。 调用 connect() 函数时状态转化为:SYN_SENT。调用 listen() 函数时状态转换为:LISTEN。ESTABLISHED是被连接的状态。 四次挥手…

Python系列(7)—— 运算符的优先级

一、引言 在Python中,当一个表达式包含多个运算符时,运算符的优先级决定了这些运算符的执行顺序。高优先级的运算符会先于低优先级的运算符进行计算。了解和掌握运算符的优先级对于编写正确的Python代码至关重要。 二、Python中的运算符优先级 Python…

2023-2024年广东省职业院校技能大赛信息安全管理与评估赛项规程

2023-2024 年度广东省职业院校技能大赛“信息安全管理与评估”赛项规程 一、赛项名称 赛项编号:GZ032 赛项名称:信息安全管理与评估 英语翻译:Information Security Management and Evaluation 赛项组别:高职组 竞赛形式&am…

httprunnerV4.X的基本使用详解

目录 1、httprunner概述 1.1、httprunner的优点 2、httprunner的安装 3、基本命令的使用 3.1、生成脚手架 3.2、将har文件转换为测试用例文件 3.3、执行测试用例 3.4、为项目创建虚拟环境,然后安装httprunner库 3.4、执行测试用例生成测试报告 4、httprun…

CSS 双色拼接按钮效果

<template><view class="sss"><button> <!-- 按钮 --><view class="span"> 按钮 </view> <!-- 按钮文本 --></button></view></template><script></script><style>body {b…

【Git】windows系统安装git教程和配置

一、何为Git Git(读音为/gɪt/)是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的项目版本管理。 二、git安装包 有2种版本&#xff0c;Git for Windows Setup和Git for Windows Portable(便携版)两个版本都可以。 三、Git for Windows Por…

js设计模式实例

js设计模式 设计模式&#xff08;Design pattern&#xff09;代表了最佳的实践&#xff0c;通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误…

Linux命令-arj命令(用于创建和管理.arj压缩包)

补充说明 arj命令 是 .arj 格式的压缩文件的管理器&#xff0c;用于创建和管理 .arj 压缩包。 语法 arj(参数)参数 操作指令&#xff1a;对 .arj 压缩包执行的操作指令压缩包名称&#xff1a;指定要操作的arj压缩包名称

应急响应红蓝工程师白帽子取证Linux和windows入侵排查还原攻击痕迹,追溯攻击者,以及各种木马和病毒以及恶意脚本文件排查和清除

应急响应红蓝工程师白帽子取证Linux入侵排查还原攻击痕迹,追溯攻击者,以及各种木马和病毒以及恶意脚本文件排查和清除。 一般服务器被入侵的迹象,包括但不局限于:由内向外发送大量数据包(DDOS肉鸡)、服务器资源被耗尽(挖矿程序)、不正常的端口连接(反向shell等)、服务…

Go 知识chan

Go 知识chan 1. 基本知识1.1 定义1.2 操作1.3 操作限定1.4 chan 读写 2. 原理2.1 数据结构2.2 环形队列2.3 等待队列2.4 类型消息2.5 读写数据2.6 关闭chan 3. 使用3.1 操作符使用3.2 select3.3 for-range https://a18792721831.github.io/ 1. 基本知识 chan是go里面里面提供…

源码篇--Redis 五种数据类型

文章目录 前言一、 字符串类型&#xff1a;1.1 字符串的编码格式&#xff1a;1.1.1 raw 编码格式:1.1.2 empstr编码格式:1.1.3 int 编码格式:1.1.4 字符串存储结构展示: 二、 list类型&#xff1a;2.1 List 底层数据支持&#xff1a;2.2 List 源码实现&#xff1a;2.3 List 结构…

微信小程序-04

rpx&#xff08;responsive pixel&#xff09;是微信小程序独有的&#xff0c;用来解决屏适配的尺寸单位。 import 后跟需要导入的外联样式表的相对路径&#xff0c;用 ; 表示语句结束。 定义在 app.wxss 中的样式为全局样式&#xff0c;作用于每一个页面。 在页面的 .wxss 文…

独享http代理安全性是更高的吗?

不同于共享代理&#xff0c;独享代理IP为单一用户提供专用的IP&#xff0c;带来了一系列需要考虑的问题。今天我们就一起来看看独享代理IP的优势&#xff0c;到底在哪里。 我们得先来看看什么是代理IP。简单来说&#xff0c;代理服务器充当客户机和互联网之间的中间人。当你使用…