【概述】
Maven中允许使用继承机制进行实现。
【目的】
当多个引用了同一个jar包的不同版本,当出现问题时需要去更新每一个项目的pom文件。这样相对比较繁琐。
使用继承机制后,更新只需要更新父工程中的依赖即可,不需要单独更新每一个子项目。
【步骤】
1) 创建Maven工程
2) 修改pom的packaging属性值为pom
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 5 <groupId>cn.hl.parent</groupId> 6 <artifactId>Parent</artifactId> 7 <version>0.0.1-SNAPSHOT</version> 8 9 <!-- 集中管理依赖 --> 10 <dependencyManagement> 11 <dependencies> 12 <dependency> 13 <groupId>junit</groupId> 14 <artifactId>junit</artifactId> 15 <version>4.12</version> 16 <scope>test</scope> 17 </dependency> 18 19 <dependency> 20 <groupId>cn.hl.hello</groupId> 21 <artifactId>hello</artifactId> 22 <version>0.1.1</version> 23 <scope>compile</scope> 24 </dependency> 25 </dependencies> 26 </dependencyManagement> 27 28 <packaging>pom</packaging> 29 </project>
3)添加子工程共同的依赖
4)在子工程Pom中引入父工程
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 5 <groupId>cn.hl.child</groupId> 6 <artifactId>HelloExtend</artifactId> 7 <version>0.0.2-SNAPSHOT</version> 8 9 <parent> 10 <groupId>cn.hl.parent</groupId> 11 <artifactId>Parent</artifactId> 12 <version>0.0.1-SNAPSHOT</version> 13 <relativePath>../Parent/pom.xml</relativePath> 14 </parent> 15 </project>
【注意事项】
在子工程引入父工程前,必须先将父工程安装到本地仓库中