专业的编程技术博客社区

网站首页 > 博客文章 正文

Spring Boot另类的打包方式(springboot项目打包war包)

baijin 2024-10-01 07:36:49 博客文章 8 ℃ 0 评论

Spring Boot在近来是非常受开发者欢迎的,简化了配置方式,不需要再配置繁琐的xml,内嵌web容器等等。相对于SSM,本人更喜欢使用Spring Boot开发Web项目。

总所周知,Spring Boot提供了两种打包方式,即Jar和War。前者内置了web容器,使用一条命令就可以运行,后者需要单独安装Tomcat容器。对比下来,我更喜欢打包成Jar,不想单独安装一个Tomcat,费时费力...

那么问题就来了,一个打包成Jar包之后,体积大的不忍直视。因为里面不仅包含了资源文件,还有很多依赖Jar包,导致体积一般都在40M以上。

所以在这里教大家一种打包方式,这种方式会把依赖Jar包resources目录运行Jar包分开。所以,第一次部署需要把这三部分都上传上去,但是以后的更新迭代就只需要上传覆盖resources目录(如果有修改的话),运行Jar包就可以了。

打包好的项目结构如下图:

打包完成之后的项目结构

好了,开始正题,这种打包方式运用到了Maven的一个打包插件maven-assembly-plugin,没了解过的同学可以去百度了解一下。

1. 首先我们需要修改pom.xml里面默认的<build></build>代码块,如下图:

第一部分

第二部分

2. 在项目根目录创建assembly.xml文件

assembly.xml

好了,接下来在控制台执行mvn clean package,等待打包完成之后,就可以在target/dist里面看到打包好的项目了,只需要执行根目录的Jar就行了(java -jar 包名)。如果需要部署在服务端,建议使用shell脚本运行项目,不然退出控制台之后,应用就会被kill掉。

ps:头条啥时候支持markdown?代码都不敢贴上去,只有截图了,大家将就看一下,如果需要该项目的话(带shell执行脚本),关注并私信A0001即可获取下载链接。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表