郓城网站建设费用,宁波seo优化公司,百家号查询排名数据查询,嘉兴秀洲区全网seo优化优惠文章目录 Maven 多模块#xff08;聚合#xff09;非父子关系的多模块项目 Maven 多模块#xff08;聚合#xff09;
Maven 继承和聚合是 2 个独立的概念。工程与工程之间可能毫无关系#xff0c;也可能是继承关系#xff0c;也可能是聚合关系#xff0c;也可能既是继承… 文章目录 Maven 多模块聚合非父子关系的多模块项目 Maven 多模块聚合
Maven 继承和聚合是 2 个独立的概念。工程与工程之间可能毫无关系也可能是继承关系也可能是聚合关系也可能既是继承又是聚合关系。继承和聚合可以同时出现但并不是必须同时出现。 Maven 继承父子工程的目的为了配置文件的复用和配置信息的统一管理 Maven 聚合多模块工程目的是项目功能上的拆分和批量执行 mvn 命令 [!] 例如 在 log4j1 时代log4j 项目的「产出成果」只有一个 log4j.jar 包。到了 log4j2 时代log4j 项目的「产出成果」就变成了两个包log4j-api 和 log4j-core 。 很明显就是两部分相对独立的代码分别打成了两个包而并不像以前那样打成一个包。 由于 Maven 多模块项目是父子项目的一种高级形式因此多模块项目也是有一个父模块包含一个或多个子模块不过有几点不同
不同点 1模块和模块的位置不同。
多模块项目中子项目通常是在父项目「里面」的而多模块项目中普通项目和聚合项目通常是「平级」的。
不同点 2pom.xml 中内容不同。
多模块项目中父项目中会『多出来』一个 modules 元素。
project ...modelVersion4.0.0/modelVersiongroupIdorg.codehaus.mojo/groupIdartifactIdmy-parent/artifactIdversion2.0/versionpackagingpom/packagingmodulesmodulechild1-module/modulemodulechild2-module/modulemodule.../modulemodule.../modulemodule.../module/modules.../project非父子关系的多模块项目
其实多模块项目可以不必是父子项目。
这种情况下 原来的父项目中仍有 modules 元素用来囊括子项目。 原来的子项目中不再有 parent 元素。或者 parent 元素指向另外的项目不再是原来的父项目。
这样一来这些项目和项目之间就「不再是父子」项目关系因此自然就不能继承配置了。
不过另一个功能在这种情况下倒是保留下来了批量执行 maven 命令 。