【Maven】聚合和继承

聚合 VS 继承

【Maven】聚合和继承

聚合:

概念:把项目的各个模块聚合在一起构建
目的:方便快捷的构建项目
相互关系:聚合模块知道有哪些被聚合模块,但被聚合模块不知道聚合模块

方法:

  • 创建一个聚合项目,packing为pom;
  • pom中添加modules元素,将其他模块放在module元素中;
  • 将其他模块代码放在聚合项目下,和pom文件同级(如果不采用父子关系而是平行结构,module中名字前需要加../);

 

继承:

概念:抽取各模块相同的依赖和插件等配置,简化POM,增强各模块一致性;
目的:消除重复配置
相互关系:父POM不知道子模块,但子模块必须知道父POM是什么

方法:

  • 创建一个模块作为父模块,packing为pom;
  • 该模块不包含项目文件,需要一个简单的pom;
  • 子模块中添加parent元素,编写父模块的坐标和相对路径;

 

小结

聚合就像在一个类里实例化其它几个被调用类,被调用类并不知道谁调用它了,但是实例化这个聚合类可以一次实例化多个被调用类;

继承就像子类继承父类,父类并知道谁继承了它,但是子类可以省去写好多代码,而且子类间统一的内容都可以在父类中修改;