SpringBoot打包的两种方式

date
Dec 23, 2021
slug
springboot-package
status
Published
tags
Java
Springboot
summary
SpringBoot
type
Post

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的情况
notion image
需要声明出每个单独的jar包的包名
注:标红非必填,标黄的属性测试发现可能会导致jar包没有复制到target/lib文件夹中

Maven父子项目打包

父项目
子项目
在父项目中执行打包 package
notion image
 
资料

Maven 导入非Maven工程的jar包

先把项目打包安装到本地
可以也用以下方式引用
参考资料:

© Wang Jiahao 2021 - 2024