maven中的module及聚合项目


视屏地址:https://v.qq.com/x/page/q0512bl7gti.html

PPT地址:https://github.com/WuZhiyong1759/xiaoketangPPT/tree/master/XKT2017%E5%B9%B46%E6%9C%8809%E6%97%A5PPT

分享人:吴志勇

1、背景介绍

modules

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

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

2、知识剖析

1)什么是maven聚合项目

2)如何创建一个maven的聚合项目

3)和普通的maven项目相比聚合项目有什么特点

4)各个module之间的关系是怎样的

3、常见问题

聚合项目中的pom文件配置是什么样子的

4、解决方案

百度

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

2)创建一个maven聚合项目

第一步

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

第二部

右击项目名选择新建module

maven中的module及聚合项目_第1张图片

输入模块名


maven中的module及聚合项目_第2张图片
maven中的module及聚合项目_第3张图片

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


maven中的module及聚合项目_第4张图片

此时聚合项目已建成父类pom为:

maven中的module及聚合项目_第5张图片

子类module的pom为:

maven中的module及聚合项目_第6张图片

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

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

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

5、编码实战

见视屏

6、扩展思考

maven中的约定优于配置

7、参考文献

www.baidu.com

8、更多讨论

聚合项目的反应堆及其裁剪

你可能感兴趣的:(maven中的module及聚合项目)