Spring boot war 部署外部tomcat

网上各种说法都有,结果都不行,拜读了一下Sprint boot2 精髓中提供的部署方式,发现也是很坑爹,根本不起作用,最后自己各种测试终于搞定,在此记录:

总共四个步骤:

1. 修改pom.xml

<packaging>warpackaging>

2. 排除内置tomcat

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
            
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>spring-boot-starter-tomcatartifactId>
                exclusion>
            exclusions>
        dependency>

3. 添加servlet依赖

        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>javax.servlet-apiartifactId>
            <version>3.1.0version>
        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进行调试开发。


你可能感兴趣的:(Java,spring-boot)