阿里云最近出了一个EDAS平台,提供全套分布式应用服务,对于不想折腾服务器配置的开发者还是很方便的,在应用部署的时候有三种方式,分别是镜像,jar包部署和war包部署
![9fa7a12cffe5db120ff76a703b36a536.png](https://i-blog.csdnimg.cn/blog_migrate/a0ac2275b57dc703af49f1b2d9c7ba17.jpeg)
一般情况下SpringBoot以Jar包的形式进行打包
1.镜像
用docker生成一个springBoot的镜像
2.打jar包
pom依赖文件加入以下配置
jar
加入maven构建组件
![42860c23c538197bc7c24599311e825b.png](https://i-blog.csdnimg.cn/blog_migrate/494f8b95a0845cc952a48bdc63b9b9d2.jpeg)
点击package执行
![d34c759a88419c67e96d81705e12bfc5.png](https://i-blog.csdnimg.cn/blog_migrate/ee997bb199c3ec5f2ad70628e22c68d3.jpeg)
mvn clean package
3.打war包
spring boot本身有一个内嵌的tomcat,如果不做其他配置直接打包,就会生成一个jar包
war
引入tomcat依赖
![f0fe44c883f6eab9d5936c5397d09ed3.png](https://i-blog.csdnimg.cn/blog_migrate/0b2d0dbbc3d2f3b78eeedc113bca149a.jpeg)
说明:
provided 指定该war包只在编译和测试的时候使用
启动类继承SpringBootServletInitializer并重写configure方法
![a6c16cb710bb2af77fcbc3c089260d2d.png](https://i-blog.csdnimg.cn/blog_migrate/3d7b71d3075d123be85391bfcd46ecb5.jpeg)
编译过程
![a49ac64991597d918071556428ad4568.png](https://i-blog.csdnimg.cn/blog_migrate/d451e88d549b862e26b8c1ddb0c1857f.jpeg)
最终在target目录下生成对应的war包
![6a56ca268d6199280bc8b3d88ca41a32.png](https://i-blog.csdnimg.cn/blog_migrate/2eee91fac2121b2378bf1375cc356749.jpeg)
大家会注意到war包下面还生成了一个 .war.original 文件,这是因为 spring-boot-maven-plugin在maven打包之后又重新打包了一次,然后命名为 .war.original
这里用表格比较一下jar包和war包的区别(因为头条不能编辑表格,就直接截图吧)
![757be31651dda756cbe63b65c87b5a20.png](https://i-blog.csdnimg.cn/blog_migrate/ec934fef53c0f51c7a5260493b81a6a1.jpeg)
![db18ea09dc772699c6119b18e1849f6d.png](https://i-blog.csdnimg.cn/blog_migrate/742fec19443085f32357e9e39af6af40.jpeg)
![4ea8608b2831f9aabb42dc3363d4bbf4.png](https://i-blog.csdnimg.cn/blog_migrate/d61304a6a4a4e7e7031913f81a97d2bc.jpeg)
![fe0d8461d67fc272a87de57a8f07fada.png](https://i-blog.csdnimg.cn/blog_migrate/d5f6fb7b907533bdbd42a55dd53305c7.jpeg)