转载自 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上面打包、编译等操作都会直接操作子模块,而不需要我们在其他项目上一个个打包等操作。

继承

什么是继承,我们可以定义项目的父类项目,用于继承父项目的依赖、插件、属性等信息。

<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上面打包、编译等操作都会直接操作子模块,而不需要我们在其他项目上一个个打包等操作。

Maven精选系列--继承与聚合相关推荐

  1. Maven精选系列--依赖范围、传递、排除

    转载自 Maven精选系列--依赖范围.传递.排除 添加依赖 下面我添加了一个spring-web的依赖,maven就会去下载spring-web的jar包及它依赖的一些jar包. <depen ...

  2. Maven精选系列--介绍与安装

    转载自 Maven精选系列--介绍与安装 Maven介绍 Maven是一个项目管理工具,用来管理项目的生命周期,如项目中各个项目之间的依赖管理,项目中使用到的jar包依赖管理,还有许多项目构建的插件等 ...

  3. Maven精选系列--标准目录结构

    转载自 Maven精选系列--标准目录结构 Maven的目录结构和传统的项目有所差别,下面是一个jar包通常有的目录结构. src/main/java:源代码目录 src/main/resources ...

  4. Maven精选系列--eclipse各种操作

    转载自 Maven精选系列--eclipse各种操作 在eclipse中配置maven的安装目录,使用最新的maven插件,从安装列表中可以看到eclipse自带绑定的是3.3.9,不是最新的,我们勾 ...

  5. Maven精选系列--POM文件解析

    转载自 Maven精选系列--POM文件解析 之前有介绍到maven的标准目录结构,也看到了maven的核心配置文件pom.xml文件,今天就解析这个配置文件. maven工程的核心文件就是这个pom ...

  6. Maven精选系列--classifier元素妙用

    转载自 Maven精选系列--classifier元素妙用 先来看这么一个依赖 <dependency><groupId>net.sf.json-lib</groupId ...

  7. Maven精选系列--常用命令详情

    转载自 Maven精选系列--常用命令详情 常用命令 mvn –version mvn -v 显示maven安装版本信息 mvn clean 清理项目打包文件,即项目下的target目录 mvn co ...

  8. Maven精选系列--过滤不同环境配置文件

    转载自 Maven精选系列--过滤不同环境配置文件 背景介绍 项目有开发.测试.生产至少有这三个环境,所需要的配置信息肯定不一样,所以打包的时候可以指定使用哪一个配置文件. 如测试环境使用:mvn p ...

  9. Maven精选系列--三种仓库详解

    转载自 Maven精选系列--三种仓库详解 仓库分类 1.本地仓库 本地仓库就是开发者本地已经下载下来的或者自己打包所有jar包的依赖仓库,本地仓库路径配置在maven对应的conf/settings ...

最新文章

  1. Spring事务支持:利用继承简化配置
  2. objective-c中Category类别(扩展类)专题总结
  3. hdu5015 矩阵快速幂233(好题)
  4. android 光晕动画,Android去掉SrollView、GrdiView、RecycleView、ViewPager等可滑动控件滑动到边缘的光晕效果...
  5. [Win10应用开发] 使用 Windows 推送服务 (WNS)
  6. 凭借K2 SmartObject框架,在SharePoint中集成数据
  7. 跟随我在oracle学习php(51)
  8. javascript HTMLElement
  9. 惠普 Compaq Presario V3704TX改XP实战手记
  10. vba显示正在加载_利用VBA代码显示工作簿的路径及完全路径的方案及对工作薄的操作...
  11. 【科研】计算社会科学与复杂科学
  12. UNP编程:15---UDP之(recvfrom、sendto函数)
  13. Lighttools中模拟白光LED
  14. 广西一男子酒后肇事逃逸 致环卫工人被撞身亡(图)
  15. 无锡江苏高性能服务器服务商,无锡高防云服务器
  16. [米家]窗帘电机【立创开源】
  17. 上传Excel文件进度条原理
  18. 正确的打字方式,如何正确分配手指控制按键
  19. MTU TTL RTT
  20. 一夜闪崩35%!全球GPU显卡价格开始大幅度跳水

热门文章

  1. [Redis6]Redis启动_前台启动和后台启动
  2. Maven编译项目时报错:不再支持源选项 5。请使用 6 或更高版本。 不再支持目标选项 1.5。请使用 1.6 或更高版本。
  3. 蓝桥杯2017初赛-迷宫-dfs
  4. Too Many Segments (hard version) CodeForces - 1249D2(贪心+容器vector+set)
  5. Leetcode贪心 验证回文字符串
  6. 命令行操作mysql
  7. P2468 [SDOI2010]粟粟的书架 主席树 + 二分 + 二维前缀和
  8. P1020 [NOIP1999 普及组] 导弹拦截 Dilworth定理 + dp
  9. CF1004F Sonya and Bitwise OR
  10. P4070 [SDOI2016]生成魔咒