SpringBoot打包的两种方式
URL
date
Dec 23, 2021
slug
springboot-package
status
Published
tags
Java
Springboot
summary
SpringBoot
type
Post
SpringBoot整体打包SpringBoot依赖分离打包无<scope>system</scope>三方依赖有<scope>system</scope>三方依赖Maven父子项目打包Maven 导入非Maven工程的jar包
SpringBoot整体打包
Maven
的默认打包插件用的是spring-boot-maven-plugin
,这个插件会把项目中的代码和相关依赖一起打包成一个jar包,我们拿到这个jar包就可以去生产环境运行。
在使用IDEA时,我们可以执行maven
-> Plugins
-> install
即可SpringBoot依赖分离打包
项目重新部署时,因jar包含了所有的依赖,导致jar很大,上传慢,部署慢等问题。
修改所有依赖jar文件放在目录lib/文件夹下,jar包只包含项目代码部分,如果依赖无变化,只需要重新部署jar包即可,jar包只包含了代码非常精简。
无<scope>system</scope>
三方依赖
项目中没有自定义加入的jar文件(
scope=system
),全部从maven仓库拉取所以我们在不更改
pom
文件的情况下,可以直接把代码达成jar包方式来运行
第一个插件是指定jar
包的启动类,还有lib
文件目录,代码如下:
第二个插件是
maven-dependency-plugin
,他的功能是把所有的依赖文件都复制到lib文件夹下,代码如下:有<scope>system</scope>
三方依赖
项目中存在
scope=system
的情况需要声明出每个单独的jar包的包名
注:标红非必填,标黄的属性测试发现可能会导致jar包没有复制到
target/lib
文件夹中Maven父子项目打包
父项目
子项目
在父项目中执行打包
package
资料
Maven 导入非Maven工程的jar包
先把项目打包安装到本地
可以也用以下方式引用
参考资料: