步驟一:修改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 加載失敗