Springboot项目war包增量部署的技术验证

上周学习了Springboot项目通过打war包方式部署在tomcat中,后续迭代通过添加class文件实现增量部署。

下载Springboot项目

通过阿里云https://start.aliyun.com生成一个简单Springboot项目,选择war包打包方式,并添加web依赖。

在这里插入图片描述
由于选择的是war包的打包方式,生成的代码会多一个ServletInitializer类,它实现了SpringBootServletInitializer接口,用于tomcat调用使用。

public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DemoApplication.class);
    }

}

在pom依赖中会自动配置好war包打包方式的配置项。
由于没有web.xml文件,war包会报错。所以添加如下依赖

<plugin>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <!--如果想在没有web.xml文件的情况下构建WAR,请设置为false-->
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                    <!--设置war包的名字-->
                    <warName>checkroom</warName>
                </configuration>
            </plugin>

            <!-- 让打包的时候跳过测试代码 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>

开发简单的restful接口

新建一个package,开发一个简单的接口。
在这里插入图片描述

打包并放入tomcat中

通过clean package打成war包。
在这里插入图片描述
把war包放入tomcat。如下路径中,D:\apache-tomcat-9.0.37\webapps

启动tomcat

进入tomcat/bin目录,运行startup.bat,tomcat会自动扫描并运行在webapps下的war包。
在这里插入图片描述
在这里插入图片描述

验证,并增量验证

启动后访问restful接口,修改代码后,把编译的class文件添加到webapps把war包解压的路径中,重启tomcat,即可完成增量部署。


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