springboot轉war放入tomcat
阿新 • • 發佈:2020-07-23
作者:故事我忘了¢
個人微信公眾號:程式猿的月光寶盒
3.修改啟動類,並重寫
個人微信公眾號:程式猿的月光寶盒
目錄
1. 修改pom檔案,打包形式改為war
<packaging>war</packaging>
2.移除內嵌的tomcat模組,但是為了在本機測試方便,我們還需要引入它,所以配置如下
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!--移除內嵌的tomcat模組--> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <!--引入tomcat依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <!--只在編譯時有效--> <scope>provided</scope> </dependency> <!--新增tomcat-servelt-api依賴--> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-servlet-api</artifactId> <version>7.0.42</version> <!--只在編譯時有效--> <scope>provided</scope> </dependency>
3.修改啟動類,並重寫configure
方法
在原本的啟動類同級下建立ServletInitializer
類,繼承org.springframework.boot.web.servlet.support.SpringBootServletInitializer
並重寫configure
方法
public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { // 指向啟動類class return application.sources(DemoApplication.class); } }
這樣就可以直接放在tomcat運行了