博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven学习总结(五)——聚合与继承
阅读量:6838 次
发布时间:2019-06-26

本文共 5297 字,大约阅读时间需要 17 分钟。

一、聚合

  如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合

1.1、聚合配置代码

模块一
模块二
模块三

  例如:对项目的Hello、HelloFriend、MakeFriends这三个模块进行聚合

../Hello
../HelloFriend
../MakeFriends

  

其中module的路径为相对路径。

二、继承

  继承为了消除重复,我们把很多相同的配置提取出来,例如:grouptId,version等

2.1、继承配置代码

me.gacl.maven
ParentProject
0.0.1-SNAPSHOT
../ParentProject/pom.xml

2.2、继承代码中定义属性

  继承代码过程中,可以定义属性,例如:

UTF-
4.9
0.0.1-SNAPSHOT

访问属性的方式为${junit.version},例如:

junit
junit
${junit.version}
test

2.3、父模块用dependencyManagement进行管理

junit
junit
${junit.version}
test
cn.itcast.maven
HelloFriend
${maven.version}
jar
compile

这样的好处是子模块可以有选择行的继承,而不需要全部继承。

三、聚合与继承的关系

  聚合主要为了快速构建项目,继承主要为了消除重复

四、聚合与继承实战演练

  创建四个Maven项目,如下图所示:

   

  这四个项目放在同一个目录下,方便后面进行聚合和继承

  

  Parent项目是其它三个项目的父项目,主要是用来配置一些公共的配置,其它三个项目再通过继承的方式拥有Parent项目中的配置,首先配置Parent项目的pom.xml,添加对项目的Hello、HelloFriend、MakeFriends这三个模块进行聚合以及jar包依赖,pom.xml的配置信息如下:

  Parent项目的pom.xml配置

4.0.0
me.gacl.maven
Parent
0.0.1-SNAPSHOT
pom
Parent
http://maven.apache.org
../Hello
../HelloFriend
../MakeFriends
UTF-8
4.9
0.0.1-SNAPSHOT
junit
junit
${junit.version}
test
me.gacl.maven
Hello
${maven.version}
compile
me.gacl.maven
HelloFriend
${maven.version}

在Hello项目的pom.xml中继承Parent项目的pom.xml配置

4.0.0
Hello
me.gacl.maven
Parent
0.0.1-SNAPSHOT
../Parent/pom.xml
junit
junit

在HelloFriend项目的pom.xml中继承Parent项目的pom.xml配置

4.0.0
HelloFriend
HelloFriend
me.gacl.maven
Parent
0.0.1-SNAPSHOT
../Parent/pom.xml
junit
junit
me.gacl.maven
Hello

在MakeFriends项目的pom.xml中继承Parent项目的pom.xml配置

4.0.0
MakeFriends
me.gacl.maven
Parent
0.0.1-SNAPSHOT
../Parent/pom.xml
junit
junit
me.gacl.maven
HelloFriend

以上的四个项目的pom.xml经过这样的配置之后,就完成了在Parent项目中聚合Hello、HelloFriend、MakeFriends这三个子项目(子模块),而Hello、HelloFriend、MakeFriends这三个子项目(子模块)也继承了Parent项目中的公共配置,这样就可以使用Maven一次性构建所有的项目了,如下图所示:

  

  选中Parent项目的pom.xml文件→【Run As】→【Maven install】,这样Maven就会一次性同时构建Parent、Hello、HelloFriend、MakeFriends这四个项目,如下图所示:

  

转载于:https://www.cnblogs.com/kangyanxiang/p/4594776.html

你可能感兴趣的文章
[自己动手改wordpress.1]wordpress的插件User-Access-Manager在新的php版本号里面无法执行的bug....
查看>>
简单工厂模式(Java与Kotlin版)
查看>>
有关怎样入门ACM
查看>>
Java中如何把两个数组合并为一个
查看>>
pkgadd 软件安装二种方法
查看>>
Oracle Warehouse Builder(OWB) 安装报seeding owbsys错误的解决
查看>>
《深入理解Android2》读书笔记(三)
查看>>
sublime text 3安装
查看>>
侯捷STL学习(九)--关联式容器(Rb_tree,set,map)
查看>>
[LeetCode] Single Number III
查看>>
HDU 3861 The King’s Problem(强连通+二分图最小路径覆盖)
查看>>
第六十三课、C语言的异常处理
查看>>
软件概要设计说明书—模板
查看>>
iOS Sprite Kit教程之编敲代码以及Xcode的介绍
查看>>
Linux 安装mysql
查看>>
一图总结C++中关于指针的那些事
查看>>
逻辑地址、线性地址、物理地址以及虚拟存储器
查看>>
OpenFlow protocol version 1.0 通信过程
查看>>
java转义符和正则表达式转义符
查看>>
poj 2406 Power Strings
查看>>