Maven中的继承和聚合
来源:互联网 发布:伊戈尔·克鲁托伊 知乎 编辑:程序博客网 时间:2024/05/21 08:44
一. 继承和聚合
1. 什么是继承?
maven为了消除重复,把很多相同的配置提取出来, 放入一个父项目的pom.xml中
例如:grouptId,version等
2. 什么是聚合?
如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合
<modules>
<module>…</module>
</modules>
3. 继承与聚合的关系
继承主要为了消除重复
聚合主要为了快速构建项目
二. 继承聚合配置
1. 聚合配置代码:
<modules><module>../Hello</module><module>../HelloFriend</module><module>../MakeFriends</module></modules>其中module的路径为相对路径。
2. 继承配置代码:
Parent项目(父):
<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>com.zdp.maven</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><modules><module>../Hello</module><module>../HelloFriend</module><module>../MakeFriends</module></modules><dependencyManagement><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.9</version><scope>test</scope></dependency><dependency><groupId>com.zdp.maven</groupId><artifactId>Hello</artifactId><version>0.0.1-SNAPSHOT</version><scope>compile</scope></dependency><dependency><groupId>com.zdp.maven</groupId><artifactId>HelloFriend</artifactId><version>0.0.1-SNAPSHOT</version><scope>compile</scope></dependency></dependencies></dependencyManagement></project>
父模块中将用dependencyManagement进行管理
<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><artifactId>MakeFriends</artifactId><packaging>jar</packaging><name>MakeFriends</name><parent><groupId>com.zdp.maven</groupId><artifactId>Parent</artifactId><version>0.0.1-SNAPSHOT</version><relativePath>../Parent/pom.xml</relativePath></parent><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency><dependency><groupId>com.zdp.maven</groupId><artifactId>HelloFriend</artifactId></dependency></dependencies></project>
HelloFriend项目(子):
<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><artifactId>HelloFriend</artifactId><packaging>jar</packaging><name>HelloFriend</name><parent><groupId>com.zdp.maven</groupId><artifactId>Parent</artifactId><version>0.0.1-SNAPSHOT</version><relativePath>../Parent/pom.xml</relativePath></parent><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency><dependency><groupId>com.zdp.maven</groupId><artifactId>Hello</artifactId></dependency></dependencies></project>
Hello项目(子):
<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><artifactId>Hello</artifactId><packaging>jar</packaging><name>Hello</name><parent><groupId>com.zdp.maven</groupId><artifactId>Parent</artifactId><version>0.0.1-SNAPSHOT</version><relativePath>../Parent/pom.xml</relativePath></parent><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency></dependencies></project>
0 0
- Maven中的继承和聚合
- Maven - 继承和聚合
- maven 聚合和继承
- Maven聚合和继承
- maven聚合和继承
- 【Maven】聚合和继承
- maven聚合和继承
- Maven聚合和继承
- Maven - 继承和聚合
- Maven:聚合和继承
- maven 聚合和继承
- Maven继承和聚合
- maven--继承和聚合
- 【maven】---聚合和继承
- 【Maven】聚合和继承
- maven 继承和聚合
- Maven聚合和继承
- Maven继承和聚合
- Android最佳实践之:StrictMode介绍
- [指针六]动态创建二维数组
- OC中的关于日期处理方法应用NSDate、NSDateFormatter
- poj 1556 zoj1721 BellmanFord 最短路+判断直线相交
- HDU 4770 Lights Against Dudely(暴力)
- Maven中的继承和聚合
- 第19周工作计划表
- 三层结构——理论篇
- 徐家骏
- Linux 下文件描述符和打开文件之间的关系
- OC中的深浅复制
- oracle_linux_6_64(bit)上安装oracle11gR2数据库环境快速准备神器oracle-rdbms-server-11gR2-preinstall
- 《深入理解Linux内核 OREILLY》-- 读书笔记
- linux c语言 select函数用法