Maven项目的两种打包方式-spring-boot-mavne-plugin/maven-jar-plugin

2023-11-08

1. 前言

Maven的两种打包方式

  • spring-boot-maven-plugin
    springboot默认打包方式方便快捷,但是打出的jar包太大,一些公共的依赖每个jar都要有一份.
  • maven-jar-plugin/maven-dependency-plugin
    打包公共依赖和代码可以放开打包,不同jar包可以共用一个dependency.jar,使打包文件变小,需要额外引入打包依赖

参考文档

2. 流程图

在这里插入图片描述

3. spring-boor-maven-plugin打包

pom.xlm增加

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <!--     true 不将依赖进行打包   false 打包依赖        -->
            <configuration>
                <skip>false</skip>
            </configuration>
        </plugin>
    </plugins>
</build>

4. maven-jar-plugin/maven-dependency-plugin打包

pom.xml增加

<build>
   <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
            <archive>
                <manifest>
                    <useUniqueVersions>true</useUniqueVersions>
                    <addClasspath>true</addClasspath>
                    <classpathPrefix>lib</classpathPrefix>
                    <!--     main 所在路径        -->
                    <mainClass>com.zlm.Application</mainClass>
                </manifest>
            </archive>
            <outputDirectory>../outputDirectory</outputDirectory>
        </configuration>
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
            <execution>
                <id>copy-dependencies</id>
                <phase>package</phase>
                <goals>
                    <goal>copy-dependencies</goal>
                </goals>
                <configuration>
                    <outputDirectory>../outputDirectory/lib</outputDirectory>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>

</build>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Maven项目的两种打包方式-spring-boot-mavne-plugin/maven-jar-plugin 的相关文章

随机推荐

  • 做了一个directshow的filter,把RGB视频流变成黑白的 .

    转自 http blog csdn net mengaim cn article details 241449 做的这个directshow的filter属于transform filter 在其间 参考了 directshow的帮助文档
  • vt 在ubuntu交叉编译windows的执行文件

    参考文档 见官网 系统 ubuntu18 04 编译步骤 1 安装 goclang 下载 https golang org doc install 解压命令 tar C usr local xzf go1 14 2 linux amd64
  • Connection is read-only. Queries leading to data modification are not allowed

    看了下mysql connector 5 1 40版本中 如果设置failoverReadOnly true 即默认值 参考 链接 当mysql连接failover时 会根据jdbc连接串将当前连接的readOnly值设置为true 第8行
  • Matlab之行列向量的赋值

    在别人的matlab代码中看到 将列向量赋值给行向量 最初还以为是别人的代码有bug 实际上运行后才发现是由自己的无知造成的 因此 将如下一小段测试的代码贴出来 向量的维度由左值 被赋值的变量 决定 column 1 2 3 row 0 0
  • python程序设计报告-20191206 实验二《Python程序设计》实验报告

    学号 2019 2020 2 Python程序设计 实验二报告 课程 Python程序设计 班级 1912 姓名 陈发强 学号 20191206 实验教师 王志强 实验日期 2020年4月19日 必修 选修 公选课 1 实验内容 设计并完成
  • 7-7 12-24小时制 (15 分)

    编写一个程序 要求用户输入24小时制的时间 然后显示12小时制的时间 输入格式 输入在一行中给出带有中间的 符号 半角的冒号 的24小时制的时间 如12 34表示12点34分 当小时或分钟数小于10时 均没有前导的零 如5 6表示5点零6分
  • 雷达系统与信号处理概述(一)

    第一章 雷达系统与信号处理概述 一 目录 第一章 雷达系统与信号处理概述 一 1 1 雷达的基本功能 1 2 检测 跟踪 成像概述 1 3 检测概率和虚警概率 1 3 1检测概率 1 3 2虚警概率 1 4 雷达分辨率 1 4 1 雷达距离
  • 静态对象、全局对象与程序的运行机制

    静态对象 全局对象与程序的运行机制 1 在介绍静态对象 全局对象与程序的运行机制之间的关系之前 我们首先看一下atexit函数 atexit函数的声明为 int atexit void cdecl func void 参数为函数指针 返回值
  • vue面试题+答案,2021前端面试

    vue面试题 答案 2022前端面试 前端进阶面试题详细解答 MVC 和 MVVM 区别 MVC MVC 全名是 Model View Controller 是模型 model 视图 view 控制器 controller 的缩写 一种软件
  • 深度学习课程设计——波士顿房价预测

    基于密集连接神经网络的波士顿房价预测 摘 要 神经网络是从信息处理角度对人脑神经元网络进行抽象 建立某种模型 按不同的连接方式组成不同的网络 本文以波士顿房价这一经典数据集为基础 该数据集包含了住宅用地所占比例等13个特征 由于keras
  • rabbitmq基础9——流控、镜像队列、网络分区

    文章目录 一 流控 1 1 流控机制 1 2 流控原理 1 3 流控状态显示 1 4 流控对象 1 5 性能提升 二 镜像队列 2 1 机制原理 2 1 1 集群结构 2 2 镜像结构 2 2 1 组播GM 2 2 1 1 实现原理 2 2
  • 1067 Sort with Swap(0, i) (25 分)

    题目 题目链接 题解 思维 DFS 比较难想的是问题转化的思路 规定a i 表示索引为i处的初始数为a i 我们引入边 由i指向a i 由a i 指向i也可以 将所有n个边都连上后 可能存在若干个环 也可能自己指向了自己 自环 我们思考几种
  • 基于规则的错别字改错

    利用ahocorasick库调用AC自动机寻找已经定义的错别字 不进行分词 并输出错别字开始位置和结束位置 并且在原文中进行改正 import ahocorasick def correct typos text typos 构建 AC 自
  • 字符串排序(函数,指针)(C语言实现)

    编写程序 用户输入n个 n lt 100 字符串 每个字符串长度小于100 按照字典顺序将字符串进行排序 并输出 要求在排序中使用指针数组完成 输入说明 输入第一行是一个整数数字 表示n 接下来有n行字符串 表示待排序字符串 输出说明 输出
  • 虚拟现实期末考试

    考点 考试分比 考试题型单项选择题40 名词解释题10 简答题20 程序设计题8 综合题12 材料分析题10 等 选择题 名词解释 VR 虚拟现实技术 英文名称 Virtual Reality 缩写为VR 是20世纪发展起来的一项全新的实用
  • linux sudo su - 免密配置

    添加用户 sudo useradd d home awen m s bin bash awen 添加用户切换root免密配置 echo awen ALL ALL NOPASSWD ALL gt gt etc sudoers d 90 clo
  • 如何更改电脑开机密码

    以我的电脑为例 是Windows 10系统的笔记本电脑 想要重新设置开机密码 相信大家都有想重新设置密码的冲动 网上也有对应的教程 但是很多人都有一个疑问 为什么根据教程来修改却没有成功 或者是重新登录电脑发现密码根本没有变化 其实不然 这
  • 技术进化对风险隔离与屏蔽超过民众想象

    刷脸支付公众在收获着消费便捷快感的同时 更多地则对刷脸支付的安全性与风险性提出了质疑 与指纹 虹膜等相比 人脸具有弱隐私性的生物特征 而且正是由于手机这一介质的缺失 人脸信息的克隆与利用也会变得 更加容易 相应地 用户使用刷脸支付的风险也就
  • Linux系统卡在iscsi服务导致无法正常开机

    现象 存储网络断开了 机器再开机时卡在开机logo去挂载iscsi 导致没法正常开机 解决办法 1 进救援模式或者单用户模式 将iscsid服务开机自启关了并禁用 关闭自启可能还是存在会被唤醒的情况 systemctl disable is
  • Maven项目的两种打包方式-spring-boot-mavne-plugin/maven-jar-plugin

    Maven项目的两种打包方式 spring boot mavne plugin maven jar plugin 1 前言 Maven的两种打包方式 2 流程图 3 spring boor maven plugin打包 4 maven ja