Spring Boot 应用打包

jar 包部署
配置打包命令
Idea下配置 clean compile package -Dmaven.test.skip=true
执行打包命令,target 目录得到待部署的项目文件。



注意:检查 pom.xml 配置的 package
是否是 jar

部署访问
打开命令窗口,进入 out目录 执行 java -jar *****.jar
命令部署打包好的jar包文件。
1 | java -jar demo.jar |
war 包部署
wer包形式部署web项目在生产环境中是比较常见的部署方式, war包需要在外部web容器中执行(比如外部的tomcat,jetty等),也是目前大多数web应用部署方式,这里对于Spring Boot Web项目进行打包部署步骤如下:
pom.xml 修改
应用类型修改

内嵌tomcat忽略
pom.xml 添加 spring-boot-starter-tomcat
依赖,并设置 scope
标签为 provided
,这样打包成war包时会忽略掉内嵌的tomcat,把war包放到服务器的tomcat容器中,才不会产生冲突。

设置jar包或war包名称

修改加载文件
添加容器启动加载文件(类似于读取web.xml),这里通过继承 SpringBootServletInitializer 类并重写 configure 方法来实现,在部署项目时指定外部 tomcat 读取项目入口方法。
1 | package com.example; |
部署war包
将war包复制到tomcat的 webapp 目录下,启动外部tomcat,tomcat会自动解压war包到webapp目录下,访问路径是 tomcat基路径 + war包名称 + …