springboot創建war包部署在外部tomcat上

今天我想跟大家分享的是使用springboot如何創建可部署在外部Tomcat的war包?網上都講了很多,不過我還是要記錄一下:

springboot官方文檔上面寫的已經很清楚了(85.1 Create a deployable war file)

1、主類繼承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);
    }
}

2、修改你的build配置以便你的項目生成war文件而不是jar文件。如果你使用了Maven並且使用了spring-boot-starter-parent這個類,你只需要修改pom.xml packaging 爲war就可以了(不熟悉maven的同學可以先學習一下maven相關知識)

<packaging>war</packaging>

如果你使用Gradle,你需要修改build.gradle應用war插件

apply plugin: 'war'

3、該過程的最後一步是確保嵌入的servlet容器不會干擾將要部署WAR文件的servlet容器。爲此,需要標記所提供的內嵌servlet容器依賴爲provided。

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'
    // …}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章