当前位置:   article > 正文

maven中的module及聚合项目_maven module

maven module

本文来说下什么是maven中的module及聚合项目


背景介绍

modules标签使用

<modules>
    <module>test-abc</module>
    <module>test-def</module>
    <module>test-xyz</module>
</modules>
  • 1
  • 2
  • 3
  • 4
  • 5

从字面意思来说,module就是模块,而pom.xml中的modules也正是这个意思,用来管理同个项目中的各个模块;如果maven用的比较简单,或者说项目的模块在pom.xml没进行划分,那么此元素是用不到的;不过一般大一点的项目是要用到的。

如果我们的项目分成了好几个模块,那么我们构建的时候是不是有几个模块就需要构建几次了(到每个模块的目录下执行mvn命令)?当然,你逐个构建没问题,但是非要这么麻烦的一个一个的构建吗,那么简单的做法就是使用聚合,一次构建全部模块。

什么是maven聚合项目

maven聚合项目也就是多模块项目,(根据项目需求,把功能或服务划分成不同的模块进行开发,子模块继承父类通过maven统一管理,聚合)


modules标签作用

maven的modules标签作用

  • 项目A下有一个pom.xml。
  • 项目A下有两个module,每个module中有自己的pom.xml。
  • 在项目A的pom中加入标签,将两个module加入其中。
  • 在构建这个项目的时候,不需要深入每个module去单独构建,而只是在项目A下的pom.xml构建,就会完成对两个module的构建。
  • 如果项目下多module,modules标签的优势将更加明显。

maven聚合项目实例

第一步

建立一个普通的maven Java工程(并删除掉src文件夹)

第二步

右击项目名选择新建module

在这里插入图片描述
输入模块名

在这里插入图片描述
在这里插入图片描述

建立多个module后目录结构如下

在这里插入图片描述
此时聚合项目已建成父类pom为

在这里插入图片描述
子类module的pom为

在这里插入图片描述

第三步:和普通的maven项目相比聚合项目有什么特点

和普通项目相比聚合项目的父类pom文件的packaging的值为pom,在父类中有指向子类的元素,在子类的pom中有有指向父类的元素,每个module的目录结构和一般的maven项目没有区别。在父类pom中添加的依赖在子pom中可以继承。

第四步:各个module之间的关系是怎样的

对于聚合模块来说,它知道哪些被聚合的模块,但那些被聚合的模块不知道这个聚合模块的存在

对于继承关系的父pom来说,它不知道有哪些子模块继承与它,但那些子模块都必须知道自己的父pom是什么


本文小结

本文详细介绍了maven中的module及聚合项目相关的知识与内容。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/491849
推荐阅读
相关标签
  

闽ICP备14008679号