需求:使用SpringBoot自带的Tomact在线上环境部署特别不方便,尤其是只更改几个文件就得全部打包部署,所以需要把SpringBoot打成war包部署到Tomact
1.在pom.xml中
由原来的jar包改成war
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 屏蔽SpringBoot内置的Tomact -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
2.启动类继承SpringBootServletInitializer
配置下面方法
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
3.将项目打包成war包 mvn package -DskipTests
注意:war包放到Tomact里面运行解压后,静态资源没有,我把本地的静态资源拷贝到resources文件下
4.隐藏项目名称,就是访问请求的时候去掉项目名
在Tomact安装目录的conf文件夹下找到server.xml
改成这样既可