Maven多模块项目介绍和搭建

jopen 10年前

Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块。

1Maven多模块项目介绍

为了便于演示和表达,在intellij中建了小项目进行举例,如下图所示

Maven多模块项目介绍和搭建

其中web-m2模块,依赖于common-utils, common-utils依赖于common-third,如下图所示

Maven多模块项目介绍和搭建

web-m1模块 依赖于web-m1 模块

Maven多模块项目介绍和搭建

 

通过maven的依赖关系,可以实现模块之间的聚合。

同时不同模块也可以独立出来,比如公用类模块,我们可以在别的项目中进行依赖引用。

 

2创建maven多模块项目

1首先创建一个maven项目,file——new——project——maven,具体参考之前的博文。

2在项目下,new——module——maven

Maven多模块项目介绍和搭建

Maven多模块项目介绍和搭建

3.创建web模块

Maven多模块项目介绍和搭建

4.项目的pom文件,会自动进行相关变化

Maven多模块项目介绍和搭建

 

3添加模块之间的依赖

1common-utils依赖common-third

Maven多模块项目介绍和搭建

2web-m2 依赖于common-utils

Maven多模块项目介绍和搭建

3web-m1 聚合web-m2

Maven多模块项目介绍和搭建

如图所示,web-m1 依赖web-m2模块,实现两个模块之间的聚合(当文件有冲突时,以当前模块为主,可以通过maven-war-plugin overlays设置聚合规则)

4编译项目,在根目录下,点击package,会对整个项目,进行打包聚合(当文件进行修改时,项目会自动更新聚合)

Maven多模块项目介绍和搭建

以web-m1为例,编译聚合后如下图

Maven多模块项目介绍和搭建

5访问效果

Maven多模块项目介绍和搭建

Maven多模块项目介绍和搭建

Maven多模块项目介绍和搭建

Maven多模块项目介绍和搭建

 

模块可以单独进行使用,也可以进行聚合使用

 

4项目地址

http://git.oschina.net/lujianing/module-demo


来自:http://my.oschina.net/lujianing/blog/354121