您的位置:首页 > 其它

使用maven整合多个web项目,多个war合并

2014-12-24 16:37 204 查看
以下文章转载自:http://www.blogjava.net/iduido/archive/2013/01/21/394520.html



 在项目管理的过程中,初期可能一个项目并不大,所以建立了一个独立的web项目,但随着项目的发展,业务功能越来越多,但从业务依赖的角度来说,却是可以划分为多项目的。于是需要将这个庞大的web项目拆分成一个个独立的子web项目。这样的好处是,代码按模块划分,代码独立打成war包后,可以独立部署,如果某应用访问量大的话,也可以独立出来做分布式应用。

        以上是一般项目发展的历程,而这里我想说的是,在项目建立初期,就已经预见到了未来会是多项目依赖的这种情况,那在这个阶段,可以考虑直接划分为多个模块,而在打包的过程中直接构建成为一个war包来运行:

        1、按模块划分,采用标准的svn目录结构创建多个web项目(各模块可以独立运行),一个common项目(各模块的公用模块,打成jar包)
2、为每个项目创建pom-{projectName}.xml,编写好相应的配置
3、选择其中一个项目,增加一个合并打包的配置pom-all.xml,增加如下配置:

<plugin>
2         <artifactId>maven-war-plugin</artifactId>
3         <version>2.1.1</version>
4         <configuration>
5             <warSourceDirectory>src/main/WebContent</warSourceDirectory>
6             <overlays>
7                 <overlay>
8                     <groupId>com.xyz</groupId>
9                     <artifactId>cms</artifactId>
10                     <excludes>
11                         <exclude>WEB-INF/lib/*</exclude>
12                         <exclude>WEB-INF/web.xml</exclude>
13                     </excludes>
14                 </overlay>
15             </overlays>
16         </configuration>
17     </plugin>
18
19     <dependency>
20           <groupId>com.xyz</groupId>
21           <artifactId>cms</artifactId>
22           <version>1.0</version>
23           <type>war</type>
24           <scope>runtime</scope>
25     </dependency>


4、举例:先运行mvn install -f pom-cms.xml

              再运行mvn package -f pom-all.xml 即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  maven web