先贴一个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>com.mycompany.myproject</groupId>
<artifactId>myproject-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>myproject-parent</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>3.2.6.RELEASE</spring.version>
</properties>
<modules>
<module>../example</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency> <!--for org.hamcrest.Matchers-->
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
</project>
子模块的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>
<parent>
<groupId>com.mycompany.myproject</groupId>
<artifactId>myproject-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../myproject-parent/pom.xml</relativePath>
</parent>
<artifactId>peter-user</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
</dependencies>
</project>
继承:
1.子模块可以继承parent中所有关于GAV的属性,artifactId除外
2.子模块可以继承parent中properties
3.子模块可以继承parent中的dependencies,比如子模块都不用再添加log4j的依赖了,
但是这样也容易导致子模块中添加了不需要的模块。此时需要使用dependencyManagement,子模块pom.xml中只需要添加GA,这样也省去了很多麻烦。
聚合:
将所有开放的子模块使用modules打包,这样就不需要每个模块单独编译,打包了。
分享到:
相关推荐
这里是maven继承与聚合代码。
这是一个maven依赖+继承+聚合的小例子,用来参考和学习maven
一个简单的maven聚合,继承示例。parent为父目录,account-email,account-persist为子项目,继承了parent的pom.xml文件
本资源主要内容: Maven安装、配置、仓库、POM坐标系、Maven工程、继承与聚合
该资源包含了一个maven聚合和继承的简单demo,可以参考博客http://blog.csdn.net/mockingbirds/article/details/47374127
maven项目,主要是一些配置,如聚合和继承以及插件.私服等,项目按模块区分,多个子项目继承parent
maven 依赖,聚合,继承,插件运行,已经说明的简单小案例
Maven的聚合与继承DEMO(以及前后端分离) 讲解文章:https://blog.csdn.net/Bof_jangle/article/details/106185213
在javaweb高速发展的今天,我们软件设计人员往往会用很多种...Maven有很好的依赖管理系统(Dependency Management System)和项目生命周期的管理(Project Leftcycle),而其中的依赖管理是本文阐述和做出实例的重点。
maven总结笔记-继承和聚合
利用maven构建项目,ssh简易框架,利用了聚合和继承
Maven聚合和继承 #资源达人分享计划 # 技术文档
演示如何利用maven进行模块分组、依赖集中处理、依赖约定处理、继承使用。。。
通过Maven的聚合和继承特性创建复杂的多模块项目的简单演示,详细介绍见http://blog.csdn.net/autfish/article/details/51939515
用于对Maven聚合继承项目的版本号进行便捷变更的工具 在使用RPC框架的微服务架构中,为了让服务消费者实现像调用本地方法一样的透明的通过网络进行RPC,服务提供者一般会提供立面jar用于服务消费者集成并通过动态...
maven管理的多模块聚合的springboot+duubo+zokeeper+Redis整合demo,一个父pom文件,分为api/service/client多个子module
Maven3_05_maven的聚合和继承 Maven3_06_复习maven的基本内容 Maven3_07_nexus的介绍和安装 Maven3_08_nexus的配置 Maven3_09_发布项目到nexus中 Maven3_10_生命周期和插件简介 Maven3_11_插件基础 Maven3_12_插件的...
maven高级(分模块设计、继承、聚合、私服)
本课程将帮助你了解 Maven 的作用,常用命令,如何配置依赖,以及依赖的范围、依赖的传递性、依赖的排除、生命周期等重要概念,以及继承、聚合这样的 Maven 配置。更会手把手教你在 Eclipse 中玩转 Maven。
第8章:聚合和继承/8.4 聚合与继承的关系 第8章:聚合和继承/8.5 约定优于配置 第8章:聚合和继承/8.6 反应堆/8.6.1 反应堆的构建顺序 第8章:聚合和继承/8.6 反应堆/8.6.2 剪切反应堆 第9章:使用Nexus创建私服/9.2...