1. 修改启动类继承自SpringBootServletInitializer。
2. 重写config方法:
@Overrideprotected 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,有两种办法:
第一种用
- jak版本与tomcat版本匹配
jdk1.7 一般对应tomcat7.X
jdk1.8 一般对应tomcat8.X
项目中如果引用了其他的jar包,在启动的时候会报错误NoSuchClassFound,如:
这个的意思是我们用了ElasticSearch,必须使用tomcat8才能启动。