本人使用的是springboot集成的maven,而默认情况下都是打的jar包,所以
第一步首先在pom中添加<packaging>war</packaging>(表示打的是war包)
因为springboot内置tomcat,打成war包之后,需要将war包放到诸如Apache的tomcat中去运行,所以不需要内置的tomcat
第二步spring-boot-starter-web依赖中移除tomcat模块,在集成的starter-web中添加去除tomcat 的标签:exclusions,如下
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
第三步:在启动类中去继承SpringBootServletInitializer,然后重写一个configure方法。
至此一般情况下是可以成功的。如果报错的话,则有可能是有一个包找不到,那么需要在pom中新加一个javax.servlet-API的包。
亲测有效。
如果有什么疑问,欢迎留言。