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才能啟動。