1. 程式人生 > >Spring boot war 部署外部tomcat

Spring boot war 部署外部tomcat

網上各種說法都有,結果都不行,拜讀了一下Sprint boot2 精髓中提供的部署方式,發現也是很坑爹,根本不起作用,最後自己各種測試終於搞定,在此記錄:

總共四個步驟:

1. 修改pom.xml

<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>

3. 新增servlet依賴

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>

4. 修改啟動Application檔案繼承SpringBootServletInitializer,實現configure方法

@SpringBootApplication
public class Application extends SpringBootServletInitializer
{

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(DythRegionApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(DythRegionApplication.class, args);
    }
}

ok,這時就可以生產外部部署的war包了,如果使用的是IDEA開發的話,可以正常配置tomcat進行除錯開發。