最近有位网友私信我咨询一个SpringBoot项目打包的问题。
这位朋友说网络上有很多重复、不可用的技术文章,这个倒是事实,更糟糕的一些自媒体为了流量抄来抄去,增加我们查找解决方案的时间成本,我也尝试去搜索了一下“SpringBoot打包”,结果不尽人意,所以,总结了这篇打包解决方案。
基于SpringBoot开发的项目代码可以打包成可执行jar,也可以打包成war,这个视不同需求而定,下面以SpringBoot2.4.0版本为例,分别列举了不同使用方式下的jar和war打包操作。
构建可执行jar包
SpringBoot推荐将应用系统构建成可执行jar包,使用内置应用服务器运行项目代码。
继承 spring-boot-starter-parent
如果项目配置了pom继承spring-boot-starter-parent,就像下面这样:
此时要把项目代码打包成jar,需要在pom中配置packaging=jar,就是下面这样:
接着,使用finalName标签配置最终jar包的名字,然后配置spring-boot-maven-plugin插件,例如如下配置:
以上就是pom中的配置了,接下来执行jar打包操作,如果使用IDEA图形化工具打包,双击执行Maven窗口下Lifecycle中的package,即执行打jar包。
如果想通过执行mvn指令打jar,需要cd到源码根目录,即pom.xml所在的目录,然后执行mvn clean package,即执行打jar包。
不继承 spring-boot-starter-parent
如果项目po