其他
Maven精选系列--继承与聚合
继承
什么是继承,我们可以定义项目的父类项目,用于继承父项目的依赖、插件、属性等信息。
<parent>
<groupId>com.alibaba</groupId>
<artifactId>dubbo-parent</artifactId>
<version>2.8.4</version>
</parent>
如dubbo的父类项目为dubbo-parent,dubbo-parent项目中定义的dependencies依赖、properties等配置都可以传递到dubbo项目中来,而dubbo子项目不需要重要定义依赖。
注意,如果我把dubbo-parent中的dependencies外面套一层
<dependencyManagement>
...
</dependencyManagement>
这种依赖管理形式,dubbo项目就默认得不到继承,这是可选依赖,需要你自己单独添加需要继承的依赖,添加时不需要带版本号,默认继承父项目的。
聚合
继承是通过定义parent形式,聚合就是module形式。
下面也通过dubbox来看看聚合的关系,dubbox是总工程,下面的都是子模块,注意总工程必须是pom打包形式的才能是聚合关系。
来看看模块是怎么定义的
在dubbox上面打包、编译等操作都会直接操作子模块,而不需要我们在其他项目上一个个打包等操作。