008-maven-maven-war-plugin多个war打包成一个新war项目
一、概述
项目背景:前期使用中台方案将项目拆解成多个war系统进行部署,但在私有化部署时,会涉及资源占用,以及部署多套运维问题。
针对上述:提供以下解决方案
1、tomcat多应用部署:007-tomcat 下多个War发布详解步骤[同一个Tomcat 同一个端口 部署多个项目、同一个Tomcat 多个端口 部署多个项目]
2、将多个项目集成打包处理【maven-war-plugin】
3、其他:docker方案等
二、多个项目集成打包
2.1、步骤pom操作
1、将先有个项目打包
<!-- 添加要合并的war包依赖 --> <dependency> <groupId>com.github.bjlhx15</groupId> <artifactId>war-test</artifactId> <version>0.0.1-SNAPSHOT</version> <type>war</type> </dependency>
2、打包插件使用
<build> <plugins> <!-- 打包插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.2.2</version> <configuration> <!-- 多个war包合并,合并规则:前面的总是覆盖后面(需要添加合并的war包依赖且type:war)- --> <overlays> <overlay> <groupId>com.github.bjlhx15</groupId> <artifactId>war-test</artifactId> <!--不包含--> <excludes> <exclude>WEB-INF/web.xml</exclude> <exclude>WEB-INF/classes/*.xml</exclude> <exclude>WEB-INF/classes/*.properties</exclude> <exclude>WEB-INF/classes/*.xml</exclude> <exclude>WEB-INF/classes/*.xml</exclude> </excludes> </overlay> <!--空表示当前构建--> <overlay></overlay> </overlays> </configuration> </plugin> </plugins> </build>
3、运行maven打包命令即可
注意事项:excludes 排除 配置文件,非常麻烦。合并规则:前面的总是覆盖后面