1. 修改启动类继承自SpringBootServletInitializer。
2. 重写config方法:
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(ManagementApplication.class);
}
3. 在pom文件中加入引用
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
4. 修改war包编译
<packaging>war</packaging>
5. 将生成的war包名字修改为ROOT.war并放到webapps下面。
6. 启动。
7. 问题汇总:
- 在tomcat部署中首先要排除springboot自带的tomcat,有两种办法:
第一种用 <exclusions>,第二种引入tomcat包。
- jak版本与tomcat版本匹配
jdk1.7 一般对应tomcat7.X
jdk1.8 一般对应tomcat8.X
项目中如果引用了其他的jar包,在启动的时候会报错误NoSuchClassFound,如:
这个的意思是我们用了ElasticSearch,必须使用tomcat8才能启动。