存在一個坑: 官網文檔 指出以下前3步做法,但是這樣只可以打出可運行的jar包,要打出war包還要在文檔后面的鏈接跳到另一個頁面,才能找到第四步的做法,也就是最終能夠打出war包,可能有些朋友有些粗心沒找到第四步的鏈接,而以為只做了前三步就可以打出war包了,結果一直出錯,還以為自己的業務代碼有問題,然后一直瞎折騰,浪費很多時間(比如我),因此我把整個過程寫於此。
1.指定war打包方式
<packaging>jar</packaging>
2.pom.xml添加spring-boot-maven-plugin插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.1.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
3.pom.xml添加spring-boot-starter-tomcat依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
4.啟動類繼承SpringBootServletInitializer並重寫configure方法
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}