maven(11)-聚合多模块

时间:2021-10-27 20:44:12



maven(11)-聚合多模块

聚合项目

一些开源项目,都会把自己的源代码公开到github之类的网站上,我们通过下载其代码,在本地执行maven install,可以把代码编译成jar包安装到本地仓库。而一个项目通常有多个模块,比如spring就有spring web,spring jdbc等20多个模块,如果一个个的执行maven install,太过繁琐,而且这些模块都是彼此依赖的,必须搞清楚各模块依赖关系按顺序执行,才不会报错。而聚合项目就是通过一次maven
install,自动完成上面的整个过程

创建聚合项目

父模块创建方法:和继承是一样的,参考上一编文章http://blog.csdn.net/wangb_java/article/details/57074645

子模块创建方法:和继承不一样,在eclipse中创建项目--其他,这里要选maven module,而不是maven project,下一步

maven(11)-聚合多模块

module name:输入模块名

parent project:点击右边的按钮,选择之前创建的父项目parent,下一步

maven(11)-聚合多模块

选择项目骨架,如果是一个web模块,选择webapp下一步

maven(11)-聚合多模块

已经自动继承到父模块的group,可以不用修改,直接完成

maven(11)-聚合多模块

这时会创建一个model1,这个项目和普通maven项目没有任何区别。不过在parent中多了一个model1目录,并且修改了pom.xml

maven(11)-聚合多模块

这个pom.xml会多出这一段内容,配置聚合项目的子模块

<modules>
<module>model1</module>
</modules>

找到eclipse的工作空间目录,你会发现model1并不在workspace根目录下,而是在parent目录下,所以会在parent项目中显示model1目录,这样更加便于管理

构建聚合项目

对parent执行maven install,可以看到model1也会被执行。 构建顺序首先是parent,然后是model1

maven(11)-聚合多模块

两个项目都会构建成功

maven(11)-聚合多模块

导入聚合项目

导入maven项目,选择parent,会自动将其子模块带进来,可以勾选你要导入哪些子模块,完成

maven(11)-聚合多模块