spring boot 聚合工程打包war

1:在启动类的项目工程 pom文件修改打包方式为  war 

<packaging>war</packaging>

2:移除内置的tomcat :总工程的 pom 文件内,右键 Maven - Show dependencies 。找到 spring-boot-starter-tomcat ---右键Exclude 排除掉

3:总工程的 pom 文件内添加  servlet 环境,因为tomcat 被移除了,里面的servlet 自然就无法使用了

        <dependency>
            <groupId>javax-servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>

4:添加 war 包的启动类

package com.blogspring;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

/**
 * @Author: qiuj
 * @Description:   War启动类 继承SpringBootServletInitializer  初始化servlet 环境
 * @Date: 2020/1/26 0026 15:34
 */
public class WarStartApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        //  指向Application 这个启动类
        return builder.sources(Application.class);
    }
}

5:右侧的 Maven 栏中 install 。然后控制台输出  BUILD SUCCESS 说明打包成功。 在 启动类的 target 目录下就能看到 war包

原文地址:https://www.cnblogs.com/blogspring/p/14191759.html