Maven uber-jar(带依赖的打包插件) spring-boot-maven-plugin

springboot个性化打包插件 —— maven-assembly-plugin 个性化打包插件 —— maven-assembly-plugin 将项目输出与它的依赖项、模块、站点文档、脚本和其他文件一起组装成一个可分发的归档文件。 阅读详情

本文是对 spring-boot-maven-plugin 常用配置的介绍,更详细的学习请参照 Spring Boot Maven Plugin 官方文档

通过使用 spring-boot-maven-plugin 插件进行 Maven 的打包操作,可以将项目中依赖的 Jar 包一同添加到最终的项目 Jar 包内,这个插件有很多执行目标,对于打包来说,主要使用 repackage目标,建议使用时与 Maven 生命周期的 package 阶段绑定

不管 pom.xml 是否声明了 Maven 的默认打包插件 maven-jar-plugin,也不管是否声明了其他打包插件,maven-jar-plugin 都会在 package 阶段最先执行,而 spring-boot-maven-plugin 插件的 repackge 目标,正是对 maven-jar-plugin 打包后的 Jar 包进行二次打包,同时将项目依赖的 Jar 添加进去

这中打包后带依赖的 Jar 包一般称为 uper-jar 或 fat-jar


最基础的 spring-boot-maven-plugin 使用

这个插件的最基础使用方式非常简单,pom.xml 中添加如下配置即可,重点在 15~29 行:

<!-- 模拟项目使用了依赖 -->
<dependencies>
    <!-- 依赖 commons-lang3 -->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.12.0</version>
    </dependency>
</dependencies>

<!-- 对项目构建进行配置 -->
<build>
    <plugins>
    	<!-- 引入 spring-boot-maven-plugin 插件 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.3.7.RELEASE</version>
            <executions>
                <execution>
                	<!-- 绑定 Maven 生命周期的 package 阶段 -->
                    <phase>package</phase>
                    <goals>
						<!-- package 阶段执行时,让其调用插件的 repackage 目标 -->
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin></
springboot瘦身打包(jar)配置(maven打包) 阅读详情

相关推荐

Spring Boot 的打包插件使用

前言 通常为了更方便的部署我们的服务,我们会使用一些打包插件将编译后的代码进行打包。这里介绍两个常用的对Spring Boot 项目打包的插件,appassembler-maven-plugin,以及maven-assembly-plugin。 appassembler-maven-plugin appassembler-maven-plugin插件可以对项目进行打包并且生成可执行的shell脚本...

白鹭立雪的博客 1186

Spring Boot项目Maven打包全攻略:从Fat Jar到Docker分层构建

在Java应用开发中,依赖管理和打包部署是保障应用可移植性与一致性的核心环节。其原理在于通过构建工具将项目代码与第三方库组织成可独立运行的部署单元。这一技术对于实现持续集成、环境标准化和云原生部署具有关键价值,广泛应用于微服务架构、容器化部署等场景。本文聚焦于Spring Boot项目,深入解析如何使用Maven插件实现高效打包。通过对比Fat Jar、Thin Jar及Docker分层镜像等不同策略,并结合依赖冲突、资源路径等高频问题,提供从基础配置到CI/CD集成的实战指南,帮助开发者构建可靠、高效的部

weixin_33912453的博客 547

Maven打包全解析:从Jar包原理到Spring Boot实战

在Java开发中,Jar包作为代码交付的标准格式,其打包方式直接影响应用的部署与运行。理解Jar包的本质——一个包含MANIFEST.MF清单文件的特殊ZIP压缩包,是掌握打包技术的基础。Maven作为主流构建工具,通过其生命周期管理和插件机制,提供了多种打包策略,从仅包含项目代码的“瘦Jar”到集成所有依赖的“Fat Jar”,每种方式都对应不同的应用场景。在工程实践中,合理选择打包方式能有效解决依赖冲突、资源加载等常见问题,提升部署效率。本文聚焦于**Maven打包**和**可执行Jar**这两个核心热

weixin_34101229的博客 350

Spring Boot Maven插件打包失败:主类找不到与依赖解析问题全解析

在Java应用开发中,Maven作为主流的项目构建和依赖管理工具,其插件机制是实现自动化构建流程的核心。spring-boot-maven-plugin是Spring Boot框架的官方Maven插件,其核心原理是在Maven的package阶段执行repackage目标,将项目编译输出与所有依赖库合并打包成一个可独立运行的Fat JAR(或称Uber JAR)。这项技术的核心价值在于简化了微服务或单体应用的部署流程,实现了“一次构建,处处运行”。在实际的工程实践中,尤其是在持续集成(CI/CD)流水线中,

weixin_30561425的博客 473

Maven 各种花式构建,不用 SpringBoot 也能打出可执行 Jar 包

Spring Boot 的打包插件用着很爽吧,直接把源码和所有依赖打成一个 Jar 包还能直接java -jar运行。那如果非 Spring Boot 项目,想打成一个可执行的 Jar 包该怎么办呢?​ 别慌,Maven 这种老牌构建工具,搞定这个事情还不是轻轻松松!​ 下面介绍一些其他的 Maven 插件,同样可以直接将 Maven 项目打包成一个可执行的 Jar 包(uber jar/executable jar),而且功能更强大,应用场景更丰富!​ 关于这个 uber jar/executa..

阿星君 2233

Spring Boot 创建一个可以执行的 Jar

我们希望将我们上面的程序打包成一个可以执行的 Jar,然后我们可以通过这个 Jar 部署到生产服务器上来运行。 可以执行的 Jar(Executable jars)有时候也会被称为 “fat jars”,这个 jar 中有你所有编译的类和所有运行这些类所需要依赖的 jar。换句话说就是将所有的依赖和你的代码打包成一个可以执行的文件,你可以通过命令行直接运行这个 jar,而不需要将这个 jar 部署到服务器或者容器中。 可执行的 jars 和 Java Java 并没有给提供一个标准的方案来载入所有需

Feng_clay的博客 710

深入解析mvn spring-boot:run命令:从Maven插件到Spring Boot应用启动全流程

在Java企业级开发中,Maven作为核心构建工具,通过其插件机制实现了项目依赖管理与构建流程的自动化。其生命周期模型与插件目标(Goal)的协作原理,为现代Java应用提供了标准化的构建范式。Spring Boot Maven插件在此基础上,通过分叉(Fork)JVM进程、智能构建类路径(Classpath)等工程实践,将“约定大于配置”的理念落地,极大地提升了开发效率。这一技术组合的价值在于,它统一了开发与构建环境,使得开发者能通过一条简单的命令行指令,即可完成从代码编译、资源处理到应用启动的完整链路。

aizexi2652的博客 356

LIGGGHTS开源离散元仿真:从基础安装到高级应用实战

本文详细介绍了LIGGGHTS开源离散元仿真软件的基础安装、脚本编写及高级应用实战。从颗粒自由落体模拟到工业级复杂系统建模,涵盖CFD-DEM耦合、高性能计算优化等关键技术,帮助用户快速掌握这一强大的颗粒仿真工具。特别适合需要处理颗粒系统仿真的科研人员和工程师。

l1k9j8h7g6的博客 620

2025年最新Cesium学习示例:Cesium-Examples

2025年最新Cesium学习示例:Cesium-Examples

2403_88103571的博客 1011

Mamba vs YOLO:目标检测选型指南(附实际项目对比)

本文深入对比了Mamba和YOLO在目标检测领域的性能差异与应用场景。通过实际项目数据,分析了两者在城市交通监控、工业质检等场景下的表现,提供了详细的选型指南和部署优化建议,帮助开发者根据实时性、精度等需求选择最适合的解决方案。

weixin_29062255的博客 369

《UE4游戏开发》之 《音效系统的实现》

音效系统需要负责管理什么事情: 1.1 确定声音控制的分类:如背景音乐、技能音效、界面音效、角色配音等,不同游戏对声音有不同的分类 1.2 控制每个分类的声音的开启与关闭,以及调节每个分类声音的大小 解决如何分类: 2.1 首先需要知道ue4为声音分类提供了什么:SoundClass通常需要一个根分类【SC_RPG_Master】,便于总体控制音效,以及指定引擎默认启动的音效 打开SoundClass资产【SC_RPG_Master】,对根控制的设置,将逐级传递并按比例进行设置,以此达到控制一类声音的目的.

qq_21919621的博客 2126

如何在R语言中使用Logistic回归模型

在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价、身高、GDP、学生成绩等,发现这些被预测的变量都属于连续型变量。然而有些情况下,被预测变量可能是二元变量,即成功或失败、流失或不流失、涨或跌等,对于这类问题,线性回归将束手无策。这个时候就需要另一种回归方法进行预测,即Logistic回归。 在实际应用中,Logistic模型主要有三大用途: 1)寻找危险因素,找到某些影响...

weixin_34056162的博客 9552

使用MATLAB结合EasySpin进行ESR模拟的详细步骤及示例代码

安装EasySpin:确保你已经安装了EasySpin工具箱,它可以帮助你进行ESR模拟。你可以从EasySpin的官方网站(https://easyspin.org/)下载并安装。准备实验数据:将实验得到的EPR数据整理成合适的格式,一般包含磁场(Magnetic Field)和信号强度(Intensity)两列。进行模拟:使用EasySpin的函数对单线态氧自由基和超氧自由基进行模拟。调整参数:通过调整模拟参数,使模拟得到的峰型和峰位置与实验数据尽可能匹配。导出数据。

AI的内部世界的博客 2006

【STK】手把手教你利用STK进行光电红外仿真03-STK/EOIR模块属性之二 导弹等目标的EOIR设置

上一节介绍了如何设置传感器的通用属性和空间、光学、光谱、辐射四种专项属性。这一节介绍如果对导弹等目标的EOIR属性进行修改。

weixin_44184852的博客 2204

2026年03月CCF-GESP编程能力等级认证Scratch图形化编程一级真题解析

本文收录于《,订阅后可阅读专栏内所有文章。

人生就是一个不断学习的过程 240

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: Maven uber-jar(带依赖的打包插件)maven-shade-plugin
下一篇: Maven 打包插件 maven-jar-plugin
「已注销」
博客等级 码龄9年 463粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值