spring-boot-maven-plugin插件 —— 默认打包配置

news2025/2/25 2:15:28

创建 Spring Boot 应用,默认会添加 Maven 插件:spring-boot-maven-plugin。如果项目结构比较简单,可以不用额外配置,使用默认的编译打包就可以。

执行 maven 打包命令时会自动触发 spring-boot-maven-plugin 插件的 repackage 目标,完成后会在 target 目录下生成两个 jar,如下图:

命令执行后会在创建的 target 目录中会生成 2 个文件:

  • *.jar:可执行 jar,包含 pom 中的所有依赖,可直接用 java -jar 命令执行。
  • *.jar.original:是 Maven 在 Spring Boot 重新打包(repackage)之前创建的原始 jar文件,只有少量的用户类,不包含依赖。

执行 打包命令后,先是执行的 mvn 常规操作,创建普通 jar包,然后 spring boot repackage 将其重新命名为 *.jar.original 原始包, 在原始包的基础上添加项目依赖和起动类,最后打成可执行的 jar包。
 

pom.xml配置如下:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>${spring-boot-dependencies.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

默认情况下,repackage 目标将用重新打包的包替换原始原包。

若项目结构比较复杂,如父子结构、多层结构或通过命令动态指定打包方式等,就需要额外的配置支持。

Goals 作用

  • build-info:根据当前 MavenProject 的内容生成一个build-info.properties文件。
  • help:显示帮助信息。调用mvn spring-boot:help -Ddetail=true -Dgoal=以显示参数详细信息。
  • repackage:默认的值,重新打包现有的 JAR 和 WAR 包,以便可以使用 java -jar 命令行来运行。使用 layout = NONE也可以简单地用于打包具有嵌套依赖关系的 JAR(并且没有主类,因此不是可执行文件)。简单的说就是生成可执行的jar包或war包。
  • run:运行一个可执行的应用
  • start:启动 Spring 应用程序。 与run目标相反,这不会阻止并允许其他目标在应用程序上运行。此目标通常用于集成测试方案中,在该方案中,应用程序在测试套件之前启动,然后在测试套件之后停止。
  • stop:停止已由 start 目标启动的 Spring 应用程序。 通常在测试套件完成后调用。

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

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

相关文章

面向面试学习,全网最齐全的软件测试面试题(含答案)

做测试的&#xff0c;我整理的真的很用心了&#xff0c;能找的新鲜面经都找了。 一面 1. 自我介绍 2. 面向对象的三种特性 集成用到了哪些特性 多态的具体使用场景 设计模式中的多态体现&#xff08;手撕&#xff09; 封装&#xff1a;将属性私有化&#xff1b;封装的意义&a…

Vue路由 replace属性 控制浏览记录不能前进或后退

默认是push模式 表示页面一直增加&#xff0c;用户可以操作返回上一个页面 replace 模式 <router-link replace :to"{path:/user,query:{ id:123,age:666 }} ">跳转用户</router-link><!--replace true表示浏览器不能后退浏览记录-->

换硬币C语言(超详细分析!包会)

换硬币C语言&#xff08;详解&#xff09; 题目介绍分析题目代码题目讲解 题目介绍 分析 通过枚举的方式找出所有可能的找零方案&#xff0c;并统计满足条件的方案的个数。使用三层嵌套的循环遍历所有可能的组合&#xff0c;判断总金额是否等于给定的金额 x&#xff0c;并输出…

【Spring】使用三方包进行数据源对象(数据库)管理

在这里使用alibaba的druid来连接数据库&#xff0c;然后再Spring Config下配置数据库 目录 第一步&#xff1a;在pom.xml中导入坐标第二步&#xff1a;在bean中配置连接注 第一步&#xff1a;在pom.xml中导入坐标 在dependencies下写&#xff1a; <dependency><grou…

高能分享:软件测试十大必问面试题(附带答案)

1 介绍之前负责的项目 参考答案&#xff1a;先大概描述一下这个项目是做什么的&#xff08;主要功能&#xff09;&#xff0c;包括哪些模块&#xff0c;是什么架构的&#xff08;B/S、C/S、移动端&#xff1f;&#xff09;&#xff0c;你在其中负责哪些模块的测试。期间经历了几…

腾讯云轻量服务器干什么用的?轻量级服务器和云服务器什么区别?

你是否曾经想要拥有一个属于自己的云端空间&#xff0c;用来存放你的个人网站、博客、游戏服务器&#xff0c;或者其他的数字资产&#xff1f;那么&#xff0c;腾讯云轻量服务器就是你的不二之选。它是一种高效、灵活、安全的云计算服务&#xff0c;让你在云端世界里无拘无束地…

Linux | 安装openGauss数据库

Linux 安装openGauss数据库 今天我们来安装一下国产数据库openGauss~~ 下载openGauss 首先在官网下载对应的安装包&#xff0c;我们这里下载LInux 极简版来演示安装 下载后,使用root用户上传到Linux ,这边上传到/usr/local/目录下, 使用root 用户创建安装目录 mkdir /usr/l…

香港优才计划申请入口评分表系统误区,准备好材料一步步申请!

香港优才计划申请入口评分表系统误区&#xff0c;准备好材料一步步申请&#xff01; 一、关于香港优才计划申请入口 香港优才计划申请的官方网站入口就是香港入境处的官方网站&#xff0c;网址&#xff1a;www.immd.gov.hk。也可以直接在搜索引擎上搜索关键词“香港入境处”找到…

2023年“华为杯”第二十届中国研究生数学建模成绩数据分析(末尾有吃席群)

目录 0引言1、数据大盘1.1 官方数据1.2 分赛题统计数据1.2.1 A-F 获奖数1.2.2 A-F 获奖率 2、分学校统计获奖情况&#xff08;数模之星没有统计&#xff09;3、 数模之星4、吃席群5、写在最后的话 0引言 2023年华为杯成绩于2023年9月22-26日顺利举行&#xff0c;来自国际和全国…

鸿蒙APP外包开发上线流程

鸿蒙系统的上线流程可能会根据具体的版本和平台要求而略有不同。在进行上线之前&#xff0c;开发人员应该详细了解并遵循鸿蒙生态系统的相关规定和要求。鸿蒙&#xff08;HarmonyOS&#xff09;应用的上线流程通常包括以下步骤&#xff0c;希望对大家有所帮助。北京木奇移动技术…

怎么为pdf加水印?

怎么为pdf加水印&#xff1f;最近很多小伙伴都有这样的疑问。你可以在浏览器上搜索一下&#xff0c;关于这方面的很多还是有很多人不是很清楚的。虽然我们自己在很多PDF文件上都看到了水印&#xff0c;那么真的到了自己这边需要进行操作的时候&#xff0c;确实还是有些这样或是…

什么是CRM管理系统

什么是CRM管理系统 市场竞争的日益激烈&#xff0c;企业对于客户关系的重视程度不断提升。为了更好地管理和维护客户关系&#xff0c;很多企业开始引入CRM&#xff08;Customer Relationship Management&#xff09;管理系统。那么&#xff0c;什么是CRM管理系统呢&#xff1f…

亚马逊美国站CPC认证ASTM F963测试项目要求有哪些?

ASTM F963是美国材料和试验联合会&#xff08;ASTM&#xff09;制定的儿童玩具安全性的标准规范&#xff0c;专门针对儿童玩具产品的安全性进行了规定和要求。 ASTM F963标准的内容和要求包括&#xff1a; 1、物理机械性能&#xff1a;规定了玩具的物理机械性能要求&#xff0…

工业镜头中的远心镜头的分类

双远心 物像两侧都是平行光路 物方远心 物体一侧是平行光路 像方远心 成像一侧是平行光路

Web前端—移动Web第一天(平面转换、渐变、综合案例--播客网页设计)

版本说明 当前版本号[20231117]。 版本修改说明20231117初版 目录 文章目录 版本说明目录移动 Web 第一天01-平面转换简介示例 平移定位居中案例-双开门旋转转换原点案例-时钟多重转换缩放案例-播放特效倾斜 02-渐变线性渐变案例-产品展示径向渐变 03-综合案例导航-频道箭头…

混合云运维解决方案,支持公有云、私有云、信创云等环境

数字时代&#xff0c;政企业务上云已成为大势所趋。虽然上云可为政企用户带来业务应用部署调度更加灵活、资源利用率更高的优点&#xff0c;但因云平台建设处于不同的阶段&#xff0c;且运转过程中包含大量的、不同类型的业务系统和应用场景&#xff0c;在整体云平台的建设中往…

虾皮插件能做数据分析的-知虾数据分析插件Shopee大数据分析平台

在如今的电商行业中&#xff0c;数据分析已经成为了一项至关重要的任务。通过对大量数据的收集和分析&#xff0c;企业可以更好地了解市场趋势、了解竞争对手、优化产品和店铺运营等。然而&#xff0c;要想做好数据分析&#xff0c;一个好用的工具是必不可少的。 虾皮插件——知…

Mac安装Homebrew

方式一&#xff1a;官网&#xff08;很慢&#xff0c;不推荐&#xff09; curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh方式二&#xff1a; 1、执行以下命令 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/ma…

Python算法题2023 输出123456789到98765432中完全不包含2023的数有多少

题目&#xff1a; 无输入&#xff0c;只需输出结果&#x1f910; 这个数字比较大&#xff0c;小伙伴们运行的时候要给代码一点耐心嗷つ﹏⊂ &#xff0c;下面是思路&#xff0c;代码注释也很详细&#xff0c;大致看一下吧&#xff08;&#xff3e;∀&#xff3e;●&#xff09…

macOS下如何使用Flask进行开发

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的编码爱好者 大家好&#xff0c;我是全栈工…