继承的作用:1.简化配置 2.减少版本冲突
一、简化配置的实现
步骤一,在父项目中写一些公共需要的依赖。
如下图,父项目正常导入一些公共需要的坐标
步骤二 配置子项目继承自父项目。
这一步应该才是需要记得地方。
<!-- 配置当前工程继承自00_parent-->
<parent>
<groupId>com.itheima</groupId>
<artifactId>00_parent</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../00_parent/pom.xml</relativePath>
</parent>
这样就很好做到了版本控制。
实现效果:
二、配置子工程中可选择的依赖关系
在之前的配置中,父工程是按常规我们写坐标的方式直接写坐标,这样写的坐标只要有小项目去继承,那这个小项目就会继承到这个依赖,那现在有一些小模块是不需要这么多依赖的,比如我pojo模块我要那么多依赖干嘛,那现在就可以配置一些只有小模块需要的,要小模块主动写的,才会拿过去。当然,这里虽然是要小模块写,但是不能写版本,因此这个版本控制还是归我父模块的。
下面是实现方法:
步骤一:配置子工程中可选择的依赖关系
这里其实就是把<dependencies>
,这个标签外面再裹一层标签,告诉外面,我这个是你选择才写。
<!-- 配置子项目中可选的依赖-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
</dependencyManagement>
步骤二,子模块进行选择
进行选择的话直接正常拉取坐标就可以了,需要注意的是,不需要写版本,当然如果使用快捷键的话,idea也不会帮你写版本。
总结
其实这里就两块内容,一个是大家都可以用的坐标,一个是有些用不着的坐标。如果需要使用父的坐标,那子类得描述清楚父模块的位置,如果是定义可选择的坐标,那父模块必须的加一个标签。