1.聚合

在使用Maven的过程中,手边可能有很多个项目,都需要打包,或者同时进行一些操作,这时候,如果一个一个手动的去操作,

就会显得很麻烦。这时候,使用聚合就可以解决问题了。

假设,现在已有项目brother01,brother02,我们想要同时将这两个项目打包。

其中,brother01和brother02是正常的项目,brother00是一个空的项目,它可以只有一个pom文件

[html] view plaincopy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>org.ygy.mvc</groupId>
  5. <artifactId>brother00</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. <packaging>pom</packaging>
  8. <name>brother00</name>
  9. <url>http://maven.apache.org</url>
  10. <properties>
  11. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  12. </properties>
  13. <modules>
  14. <module>../brother01</module>
  15. <module>../brother02</module>
  16. </modules>
  17. </project>

注意:

1)packaging方式为pom

2)modules标签,将需要统一管理的项目引进来即可

聚合,就好像是将实体类放在entity下,将持久层发在dao下,放在一起统一管理。

2.继承

继承的概念很好理解,和Java中的意思一样。只不过,在Maven中继承的是pom。

parent的pom

[html] view plaincopy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>org.ygy.mvc</groupId>
  5. <artifactId>parent</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. <packaging>pom</packaging>
  8. <name>parent</name>
  9. <url>http://maven.apache.org</url>
  10. <properties>
  11. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  12. </properties>
  13. <dependencies>
  14. <dependency>
  15. <groupId>junit</groupId>
  16. <artifactId>junit</artifactId>
  17. <version>3.8.1</version>
  18. <scope>test</scope>
  19. </dependency>
  20. </dependencies>
  21. </project>

son的pom

[html] view plaincopy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <parent>
  5. <groupId>org.ygy.mvc</groupId>
  6. <artifactId>parent</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. </parent>
  9. <artifactId>son</artifactId>
  10. <packaging>jar</packaging>
  11. <name>son</name>
  12. <url>http://maven.apache.org</url>
  13. </project>

注意:

1)父亲的pom同样要指定packaging为pom

可以继承的元素:

[html] view plaincopy
  1. groupId :项目组 ID ,项目坐标的核心元素;
  2. version :项目版本,项目坐标的核心元素;
  3. description :项目的描述信息;
  4. organization :项目的组织信息;
  5. inceptionYear :项目的创始年份;
  6. url :项目的 url 地址
  7. develoers :项目的开发者信息;
  8. contributors :项目的贡献者信息;
  9. distributionManagerment :项目的部署信息;
  10. issueManagement :缺陷跟踪系统信息;
  11. ciManagement :项目的持续继承信息;
  12. scm :项目的版本控制信息;
  13. mailingListserv :项目的邮件列表信息;
  14. properties :自定义的 Maven 属性;
  15. dependencies :项目的依赖配置;
  16. dependencyManagement :醒目的依赖管理配置;
  17. repositories :项目的仓库配置;
  18. build :包括项目的源码目录配置、输出目录配置、插件配置、插件管理配置等;
  19. reporting :包括项目的报告输出目录配置、报告插件配置等。

3.聚合与继承的关系

maven学习(3)相关推荐

  1. Maven学习总结(6)——Maven与Eclipse整合

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(六)--Maven与Eclipse整合 一.安装Maven插件 下载下来的maven插件如下图所示:,插件 ...

  2. Maven学习总结(八)——使用Maven构建多模块项目

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(八)--使用Maven构建多模块项目 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分 ...

  3. Maven学习总结(四)——Maven核心概念

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(四)--Maven核心概念 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平 ...

  4. Maven学习总结(一)——Maven入门

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(一)--Maven入门 一.Maven的基本概念 Maven(翻译为"专家",&quo ...

  5. Maven学习总结(七)——eclipse中使用Maven创建Web项目

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(七)--eclipse中使用Maven创建Web项目 一.创建Web项目 1.1 选择建立Maven Pr ...

  6. Maven学习总结(五)——聚合与继承

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(五)--聚合与继承 一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1. ...

  7. 【Maven学习】Nexus私服代理其他第三方的Maven仓库

    一.背景 [Maven学习]Nexus OSS私服仓库的安装和配置 http://blog.csdn.net/ouyang_peng/article/details/78793038 [Maven学习 ...

  8. Maven学习总结(九)——使用Nexus搭建Maven私服

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(九)--使用Nexus搭建Maven私服 一.搭建nexus私服的目的 为什么要搭建nexus私服,原因很 ...

  9. Maven学习总结(2)——Maven项目构建过程练习

    Maven学习总结(二)--Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建 ...

  10. Maven学习总结(二)——Maven项目构建过程练习

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(二)--Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验 ...

最新文章

  1. while true 死循环判断端口按顺序启动应用
  2. TCP通讯处理粘包详解
  3. Python中的包以及跨目录访问变量和函数(同级目录)
  4. 使用 Boost.Multiprecision 来实现高精度高斯-拉盖尔正交积分
  5. TensorFlow2-循环神经网络
  6. swift5 实现购物App
  7. html vw自动跳到ie,CSS3动画/关键帧,在IE11问题中使用vw进行转换
  8. 魅蓝s6启动android密码_魅蓝s6怎么恢复出厂设置?忘记密码怎么办
  9. 排序算法之希尔排序(Java)
  10. 探索比特币源码1-运行 Bitcoin Core Node
  11. 小米用户画像_腾讯企鹅智库发布手机品牌用户画像:华为一二线城市用户少于小米...
  12. 年轻一代 winner 的程序人生,改变世界的起点藏在身边
  13. UVA10912 Simple Minded Hashing【DP】
  14. iOS人脸识别(检测)
  15. 荣耀笔记本linux版拆机,拆机荣耀 MagicBook 锐龙版,真材实料一眼看到
  16. 天涯上令人肝肠寸断的100个签名
  17. Linux运维是什么?linux运维的基础知识
  18. 数据库系统概论笔记二——画E-R图
  19. 面对毕业季,无经验应届生如何顺利找到运营工作(下)
  20. Linux驱动程序安装步骤

热门文章

  1. 有序二叉树c语言,二叉搜索树(BST)的实现(C语言)(原创)
  2. html中的box布局,CSS3 Flexbox 布局完全指南(图解 Flexbox 布局详细教程)
  3. CMake-add_executable()
  4. OpenShift 4 之 GitOps(8)用ArgoCD实现的应用迁移、金丝雀部署、DR
  5. 边缘设备上的实时AI虫害消除:入门
  6. 动态顺序图可视化控件
  7. 从项目的 GitHub 星星数看2018年 JavaScript 生态圈
  8. 张杰和机器人_科学艺术两开花,国内首个机器人乐队诞生有什么重要的意义?...
  9. js把base64串解析成中文_26日大嘴足球:晚场5中3/中2串+1比分,早场(意甲+西甲)2场解析!!...
  10. python银行排队系统_python-我需要基于Web的系统的消息/排队解决...