maven学习(3)
1.聚合
在使用Maven的过程中,手边可能有很多个项目,都需要打包,或者同时进行一些操作,这时候,如果一个一个手动的去操作,
就会显得很麻烦。这时候,使用聚合就可以解决问题了。
假设,现在已有项目brother01,brother02,我们想要同时将这两个项目打包。
其中,brother01和brother02是正常的项目,brother00是一个空的项目,它可以只有一个pom文件
- <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.ygy.mvc</groupId>
- <artifactId>brother00</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>pom</packaging>
- <name>brother00</name>
- <url>http://maven.apache.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <modules>
- <module>../brother01</module>
- <module>../brother02</module>
- </modules>
- </project>
注意:
1)packaging方式为pom
2)modules标签,将需要统一管理的项目引进来即可
聚合,就好像是将实体类放在entity下,将持久层发在dao下,放在一起统一管理。
2.继承
继承的概念很好理解,和Java中的意思一样。只不过,在Maven中继承的是pom。
parent的pom
- <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.ygy.mvc</groupId>
- <artifactId>parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>pom</packaging>
- <name>parent</name>
- <url>http://maven.apache.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
- </project>
son的pom
- <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.ygy.mvc</groupId>
- <artifactId>parent</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>son</artifactId>
- <packaging>jar</packaging>
- <name>son</name>
- <url>http://maven.apache.org</url>
- </project>
注意:
1)父亲的pom同样要指定packaging为pom
可以继承的元素:
- groupId :项目组 ID ,项目坐标的核心元素;
- version :项目版本,项目坐标的核心元素;
- description :项目的描述信息;
- organization :项目的组织信息;
- inceptionYear :项目的创始年份;
- url :项目的 url 地址
- develoers :项目的开发者信息;
- contributors :项目的贡献者信息;
- distributionManagerment :项目的部署信息;
- issueManagement :缺陷跟踪系统信息;
- ciManagement :项目的持续继承信息;
- scm :项目的版本控制信息;
- mailingListserv :项目的邮件列表信息;
- properties :自定义的 Maven 属性;
- dependencies :项目的依赖配置;
- dependencyManagement :醒目的依赖管理配置;
- repositories :项目的仓库配置;
- build :包括项目的源码目录配置、输出目录配置、插件配置、插件管理配置等;
- reporting :包括项目的报告输出目录配置、报告插件配置等。
3.聚合与继承的关系
maven学习(3)相关推荐
- Maven学习总结(6)——Maven与Eclipse整合
2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(六)--Maven与Eclipse整合 一.安装Maven插件 下载下来的maven插件如下图所示:,插件 ...
- Maven学习总结(八)——使用Maven构建多模块项目
2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(八)--使用Maven构建多模块项目 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分 ...
- Maven学习总结(四)——Maven核心概念
2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(四)--Maven核心概念 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平 ...
- Maven学习总结(一)——Maven入门
2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(一)--Maven入门 一.Maven的基本概念 Maven(翻译为"专家",&quo ...
- Maven学习总结(七)——eclipse中使用Maven创建Web项目
2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(七)--eclipse中使用Maven创建Web项目 一.创建Web项目 1.1 选择建立Maven Pr ...
- Maven学习总结(五)——聚合与继承
2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(五)--聚合与继承 一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1. ...
- 【Maven学习】Nexus私服代理其他第三方的Maven仓库
一.背景 [Maven学习]Nexus OSS私服仓库的安装和配置 http://blog.csdn.net/ouyang_peng/article/details/78793038 [Maven学习 ...
- Maven学习总结(九)——使用Nexus搭建Maven私服
2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(九)--使用Nexus搭建Maven私服 一.搭建nexus私服的目的 为什么要搭建nexus私服,原因很 ...
- Maven学习总结(2)——Maven项目构建过程练习
Maven学习总结(二)--Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建 ...
- Maven学习总结(二)——Maven项目构建过程练习
2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(二)--Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验 ...
最新文章
- while true 死循环判断端口按顺序启动应用
- TCP通讯处理粘包详解
- Python中的包以及跨目录访问变量和函数(同级目录)
- 使用 Boost.Multiprecision 来实现高精度高斯-拉盖尔正交积分
- TensorFlow2-循环神经网络
- swift5 实现购物App
- html vw自动跳到ie,CSS3动画/关键帧,在IE11问题中使用vw进行转换
- 魅蓝s6启动android密码_魅蓝s6怎么恢复出厂设置?忘记密码怎么办
- 排序算法之希尔排序(Java)
- 探索比特币源码1-运行 Bitcoin Core Node
- 小米用户画像_腾讯企鹅智库发布手机品牌用户画像:华为一二线城市用户少于小米...
- 年轻一代 winner 的程序人生,改变世界的起点藏在身边
- UVA10912 Simple Minded Hashing【DP】
- iOS人脸识别(检测)
- 荣耀笔记本linux版拆机,拆机荣耀 MagicBook 锐龙版,真材实料一眼看到
- 天涯上令人肝肠寸断的100个签名
- Linux运维是什么?linux运维的基础知识
- 数据库系统概论笔记二——画E-R图
- 面对毕业季,无经验应届生如何顺利找到运营工作(下)
- Linux驱动程序安装步骤
热门文章
- 有序二叉树c语言,二叉搜索树(BST)的实现(C语言)(原创)
- html中的box布局,CSS3 Flexbox 布局完全指南(图解 Flexbox 布局详细教程)
- CMake-add_executable()
- OpenShift 4 之 GitOps(8)用ArgoCD实现的应用迁移、金丝雀部署、DR
- 边缘设备上的实时AI虫害消除:入门
- 动态顺序图可视化控件
- 从项目的 GitHub 星星数看2018年 JavaScript 生态圈
- 张杰和机器人_科学艺术两开花,国内首个机器人乐队诞生有什么重要的意义?...
- js把base64串解析成中文_26日大嘴足球:晚场5中3/中2串+1比分,早场(意甲+西甲)2场解析!!...
- python银行排队系统_python-我需要基于Web的系统的消息/排队解决...