Spring Boot建立一個可以部署的war檔案
阿新 • • 發佈:2019-02-09
1.第一步:提供一個SpringBootServletInitializer的子類並重寫configure方法。Spring Framework的Servlet 3.0支援並允許您在由Servlet容器啟動時配置您的應用程式。通常,您需要更新您的應用程式的主類去繼承SpringBootServletInitializer:
@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); } }
2.第二步:您需要修改你的pom.xml配置檔案,以便於您的專案生成的是一個war檔案,而不是jar檔案。如果您使用的是Maven並且使用了spring-boot-starter-parent(它會配置Maven的war外掛給您):
<packaging>war</packaging>
如果您是用的是Gradle,你需要修改build.gradle將war外掛應用於專案:
apply plugin: 'war'
最後一步:確保嵌入的Servlet容器不會干擾war檔案將部署的servlet容器,為此,需要對嵌入的servlet容器進行標記,並提供其依賴項。
如果您使用Maven:
<dependencies>
<!-- … -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- … -->
</dependencies>
如果您使用Gradle:
dependencies { // … providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' // … }