springboot项目打war包

https://www.jb51.net/article/202524.htm

1 pom.xml修改

1.1 新增依赖

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

1.2 排除springboot内置tomcat

       <dependency>
            <groupId>com.sinosoft</groupId>
            <artifactId>base-core</artifactId>
            <version>2.7.1</version>
            <exclusions>
                <!--排除内置的tomcat-->
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

1.3 maven编译插件

<plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.7.1</version>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
</plugins>

2 启动类修改

原启动类:

@SpringBootApplication
public class SystemManageApplication {

    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(SystemManageApplication.class, args);
        // 打印项目信息
        PrintApplicationInfo.print(context);
    }
}

让启动类继承SpringBootServletInitializer,如下:

@SpringBootApplication
public class SystemManageApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(SystemManageApplication.class, args);
        // 打印项目信息
        PrintApplicationInfo.print(context);
    }

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

3 打包

打包方式和打jar包相同。在idea中,依次执行clean、package即可完成打包:
在这里插入图片描述
执行完成后,在target文件中,可以看到已经打好的war包:
在这里插入图片描述

或在Terminal中使用命令 mvn clean package 进行打包:

在这里插入图片描述


版权声明:本文为weixin_46505978原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。