为什么什么使用继承?
在一个项目中有多个模块时,发现很多模块的pom.xml文件中依赖的很多东西都是重复的。在这样的情况下,一般都会将公共的部分抽取出来作为父,其它的继承即可。
怎样继承?
- 创建父模块
- 子模块pom.xml文件中添加parent标签,指定父模块。
<parent>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<relativePath></relativePath>
</parent>
注意:relativePath相对路径
父模块的特点
- 父模块的packaging为pom和聚合一样
- artifactId和version和子模块的一般一致,子模块不显示申明时,默认继承父模块的,如果子模块和父模块不一致时,可以显示申明。
- 父模块只有pom文件,和聚合一样
哪些元素可以被继承
- groupId:项目组ID,项目坐标的核心元素
- version:项目版本,项目坐标的核心元素
- properties:自定义的maven属性
- dependencies:项目的依赖配置
- dependencyManagement:项目的依赖管理配置
- repositories:项目的仓库配置
- build:包括项目的源码目录配置、输出目录配置、插件配置、插件管理配置等。
- reporting:包括项目的报告输出目录配置、报告插件配置等。
- description:项目的描述信息
- organization:项目的组织信息
- inceptionYear:项目的创始年份
- url:项目的url地址
- developers:项目的开发者信息
- contributors:项目的贡献者信息
- distributionMangement:项目的部署配置
- issueManagement:项目的缺陷跟踪系统信息
- ciManagement:项目的持续集成系统信息
- scm:项目的版本控制系统信息
- mailingLists:项目的邮件列表信息