步骤一:修改pox.xml文件java
1.首先将pom.xml的web
<packaging>jar</packaging> <!--修改成--> <packaging>war</packaging>
2.spring
<!-- Spring Boot 依赖,这里必须排除嵌入式的 Tomcat ,不然在 Tomcat4E 会出现问题;若使用 Main 函数启动,则不用排除 --> <dependencies> <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> </dependencies>
注意:tomcat
在 pom.xml 里面引入的 Spring Boot 依赖,若要以 WAR 包形式在 Tomcat 中运行,须要排除 spring-boot-starter-web 嵌入式 Tomcat 依赖,不然会和 Tomcat 默认的 lib 内容造成冲突,致使项目没法启动。若是在 Main 函数中启动则不用排除嵌入式 Tomcat,可是在打包发布时,请必定记住须要排除。app
3.建立 ServletInitializer 类,继承 SpringBootServletInitializer。webapp
相似初始化 Spring 上下文,标记该项目打包成 WAR 项目在 Tomcat 中运行。ide
继承 SpringBootServletInitializer 类,实现 configure 方法 ServletInitializer.class函数
public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(StartupDemoApplication.class); } }
4.建立 Spring Boot 启动类。spring-boot
@SpringBootApplication public class StartupDemoApplication { public static void main(String[] args) { //启动服务 SpringApplication.run(StartupDemoApplication.class, args); } }
5.删除 webapp 下面的 web.xml 文件。ui
由于web.xml咱们没有配置任何信息,因此可能致使spring boot 加载失败