Maven精选系列--继承与聚合
转载自 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精选系列--继承与聚合相关推荐
- Maven精选系列--依赖范围、传递、排除
转载自 Maven精选系列--依赖范围.传递.排除 添加依赖 下面我添加了一个spring-web的依赖,maven就会去下载spring-web的jar包及它依赖的一些jar包. <depen ...
- Maven精选系列--介绍与安装
转载自 Maven精选系列--介绍与安装 Maven介绍 Maven是一个项目管理工具,用来管理项目的生命周期,如项目中各个项目之间的依赖管理,项目中使用到的jar包依赖管理,还有许多项目构建的插件等 ...
- Maven精选系列--标准目录结构
转载自 Maven精选系列--标准目录结构 Maven的目录结构和传统的项目有所差别,下面是一个jar包通常有的目录结构. src/main/java:源代码目录 src/main/resources ...
- Maven精选系列--eclipse各种操作
转载自 Maven精选系列--eclipse各种操作 在eclipse中配置maven的安装目录,使用最新的maven插件,从安装列表中可以看到eclipse自带绑定的是3.3.9,不是最新的,我们勾 ...
- Maven精选系列--POM文件解析
转载自 Maven精选系列--POM文件解析 之前有介绍到maven的标准目录结构,也看到了maven的核心配置文件pom.xml文件,今天就解析这个配置文件. maven工程的核心文件就是这个pom ...
- Maven精选系列--classifier元素妙用
转载自 Maven精选系列--classifier元素妙用 先来看这么一个依赖 <dependency><groupId>net.sf.json-lib</groupId ...
- Maven精选系列--常用命令详情
转载自 Maven精选系列--常用命令详情 常用命令 mvn –version mvn -v 显示maven安装版本信息 mvn clean 清理项目打包文件,即项目下的target目录 mvn co ...
- Maven精选系列--过滤不同环境配置文件
转载自 Maven精选系列--过滤不同环境配置文件 背景介绍 项目有开发.测试.生产至少有这三个环境,所需要的配置信息肯定不一样,所以打包的时候可以指定使用哪一个配置文件. 如测试环境使用:mvn p ...
- Maven精选系列--三种仓库详解
转载自 Maven精选系列--三种仓库详解 仓库分类 1.本地仓库 本地仓库就是开发者本地已经下载下来的或者自己打包所有jar包的依赖仓库,本地仓库路径配置在maven对应的conf/settings ...
最新文章
- Spring事务支持:利用继承简化配置
- objective-c中Category类别(扩展类)专题总结
- hdu5015 矩阵快速幂233(好题)
- android 光晕动画,Android去掉SrollView、GrdiView、RecycleView、ViewPager等可滑动控件滑动到边缘的光晕效果...
- [Win10应用开发] 使用 Windows 推送服务 (WNS)
- 凭借K2 SmartObject框架,在SharePoint中集成数据
- 跟随我在oracle学习php(51)
- javascript HTMLElement
- 惠普 Compaq Presario V3704TX改XP实战手记
- vba显示正在加载_利用VBA代码显示工作簿的路径及完全路径的方案及对工作薄的操作...
- 【科研】计算社会科学与复杂科学
- UNP编程:15---UDP之(recvfrom、sendto函数)
- Lighttools中模拟白光LED
- 广西一男子酒后肇事逃逸 致环卫工人被撞身亡(图)
- 无锡江苏高性能服务器服务商,无锡高防云服务器
- [米家]窗帘电机【立创开源】
- 上传Excel文件进度条原理
- 正确的打字方式,如何正确分配手指控制按键
- MTU TTL RTT
- 一夜闪崩35%!全球GPU显卡价格开始大幅度跳水
热门文章
- [Redis6]Redis启动_前台启动和后台启动
- Maven编译项目时报错:不再支持源选项 5。请使用 6 或更高版本。 不再支持目标选项 1.5。请使用 1.6 或更高版本。
- 蓝桥杯2017初赛-迷宫-dfs
- Too Many Segments (hard version) CodeForces - 1249D2(贪心+容器vector+set)
- Leetcode贪心 验证回文字符串
- 命令行操作mysql
- P2468 [SDOI2010]粟粟的书架 主席树 + 二分 + 二维前缀和
- P1020 [NOIP1999 普及组] 导弹拦截 Dilworth定理 + dp
- CF1004F Sonya and Bitwise OR
- P4070 [SDOI2016]生成魔咒