博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven 梳理 -聚合与继承
阅读量:4966 次
发布时间:2019-06-12

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

一、聚合

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

1.1、聚合配置代码

1 
2
模块一
3
模块二
4
模块三
5

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

1 
2
../Hello
3
../HelloFriend
4
../MakeFriends
5

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

二、继承

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

2.1、继承配置代码

1 
2
me.gacl.maven
3
ParentProject
4
0.0.1-SNAPSHOT
5
../ParentProject/pom.xml
6

2.2、继承代码中定义属性

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

1 
2
UTF-8
3
4.9
4
0.0.1-SNAPSHOT
5

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

1 
2
junit
3
junit
4
${junit.version}
5
test
6

2.3、父模块用dependencyManagement进行管理

1 
2
3
4
junit
5
junit
6
${junit.version}
7
test
8
9
10
cn.itcast.maven
11
HelloFriend
12
${maven.version}
13
jar
14
compile
15
16
17

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

三、聚合与继承的关系

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

四、聚合与继承实战演练

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

   

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

  

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

  Parent项目的pom.xml配置

1 
3
4.0.0
4 5
me.gacl.maven
6
Parent
7
0.0.1-SNAPSHOT
8
pom
9 10
Parent
11
http://maven.apache.org
12 13
14
15
../Hello
16
../HelloFriend
17
../MakeFriends
18
19 20
21
22
UTF-8
23
4.9
24
0.0.1-SNAPSHOT
25
26 27
28
29
30
31
32
junit
33
junit
34
35
${junit.version}
36
test
37
38
39
me.gacl.maven
40
Hello
41
42
${maven.version}
43
compile
44
45
46
me.gacl.maven
47
HelloFriend

转载于:https://www.cnblogs.com/jiangtao1218/p/10004142.html

你可能感兴趣的文章
jenkins 离线安装插件 ,插件的下载地址
查看>>
Edit控件显示多行文字
查看>>
java 日期与时间类
查看>>
JS第二周
查看>>
杭电1217————不像最短路的"最短路"
查看>>
【iCore3双核心板】发布 iCore3 硬件手册!
查看>>
Leetcode Word Break
查看>>
css性质
查看>>
python数据结构
查看>>
正则指引-括号(3)反向引用
查看>>
android开发读书笔记
查看>>
Gitlab配置、备份、升级、迁移
查看>>
dataTable.NET的search box每輸入一個字母進行一次檢索的問題
查看>>
Python 文件处理
查看>>
邻接表详解
查看>>
android,radio,checkbox
查看>>
[转](.NET Core C#) AES Encryption
查看>>
[转]EntityFramework中常用的数据修改方式
查看>>
[转]SQL Collation冲突解决 临时表
查看>>
[转]Gitlab-CI持续集成之Runner配置和CI脚本
查看>>