maven 继承关系和聚合
2014-07-05 12:36
351 查看
maven继承管理 让版本的管理只在一个地方改变
传递性依赖原则:
A-->B
A-->C
1.路径最近者优先
2.路径相同,第一声明者优先
注意:
1.dependencyManagement中定义的依赖子module不会共享
2.dependencies中定义的依赖子module可以共享
dependencyManagement的使用 就是方便管理版本,子项目中要引入group id和atifact id
在parent项目的pom.xml配置
Hello.pom
HelloFriend pom.xml
modules用于聚合,把执行的项目都放到同一的地方用module包括,可以省去一个个项目去mvn install,这样可以所有项目一次聚合 mvn install
传递性依赖原则:
A-->B
A-->C
1.路径最近者优先
2.路径相同,第一声明者优先
注意:
1.dependencyManagement中定义的依赖子module不会共享
2.dependencies中定义的依赖子module可以共享
dependencyManagement的使用 就是方便管理版本,子项目中要引入group id和atifact id
在parent项目的pom.xml配置
<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>cn.itcast.maven</groupId> <artifactId>Parent</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <name>Parent</name> <url>http://maven.apache.org</url> <!--聚合--> <modules> <module>../Hello</module> <module>../HelloFriend</module> <module>../MakeFriends</module> <module>../Web</module> </modules> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <!--定义了依赖的关系,让其他项目继承这些包,不用写版本,同一控制了--> <dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> <dependency> <groupId>cn.itcast.maven</groupId> <artifactId>Hello</artifactId> <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> <dependency> <groupId>cn.itcast.maven</groupId> <artifactId>HelloFriend</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>cn.itcast.maven</groupId> <artifactId>MakeFriends</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies> </dependencyManagement> <distributionManagement> <repository> <id>releases</id> <name>Internal Releases</name> <url>http://localhost:8080/nexus-2.1.2/content/repositories/releases/</url> </repository> <snapshotRepository> <id>snapshots</id> <name>Internal Snapshots</name> <url>http://localhost:8080/nexus-2.1.2/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement> </project>
Hello.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> <artifactId>Hello</artifactId> <parent> <groupId>cn.itcast.maven</groupId> <artifactId>Parent</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath>../Parent/pom.xml</relativePath> </parent> <dependencies> <!--不用写版本了 parent那里同一控制了--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> </dependencies> </project>
HelloFriend pom.xml
<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> <name>HelloFriend</name> <parent> <groupId>cn.itcast.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>cn.itcast.maven</groupId> <artifactId>Hello</artifactId> </dependency> </dependencies> </project>
相关文章推荐
- maven中的继承和聚合的关系
- maven的继承和聚合关系
- Maven中聚合与继承的关系
- maven 继承关系和聚合
- 【maven实战】25-聚合与继承的关系
- UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
- UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别【转】
- maven项目的聚合和继承
- UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
- UML类图关系(继承、实现、依赖、关联、聚合、组合)
- Maven之Parent模块配置-关于聚合与继承、依赖管理、占位符、构建管理和多套环境
- UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
- MyEclipse 导入MAVEN项目(具有继承关系的多个子工程)
- Maven学习总结(五)——聚合与继承
- maven项目继承和聚合pom文件配置
- UML 类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- Maven详解之聚合与继承
- Maven聚合与继承
- Maven详解之聚合与继承
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)