打包过程总体与jar包类似,但是依赖需要更改,主要区别在于需要部署到安装的tomcat的webapps目录中
pom文件
打包配置请参考我的另一篇博客 SpringBoot项目打包
只需要将
<packaging>jar</packaging>
改为
<packaging>war</packaging>
然后修改依赖如下
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 去除SpringBoot内置的tomcat依赖 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- war包部署 去除内置tomcat,并添加tomcat、servlet依赖 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
添加启动类
原本SpringBoot项目的启动类不变,在同级目录加入StartWarApplication启动类,AAAApplication为原本SpringBoot项目的启动类
public class StartWarApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(AAAApplication.class);
}
}
部署至Tomcat
打包后,将war包放入tomcat安装目录的webapps下,启动tomcat
访问{ip}:{port}/{projectName}/{path}
即可
projectName为war包名称,path为你想要访问的路径