Maven的-pl -am -amd参数
昨天maven的deploy任务需要只选择单个模块并且把它依赖的模块一起打包,第一时间便想到了-pl参数,然后就开始处理,但是因为之前只看了一下命令的介绍,竟然花了近半小时才完全跑通,故记录此文。
假设现有项目结构如下:
dailylog-parent
|-dailylog-common
|-dailylog-web
三个文件夹处在同级目录中
dailylog-web依赖dailylog-common
dailylog-parent管理dailylog-common和dailylog-web。
根据资料已知:
参数 | 全称 | 释义 | 说明 |
---|---|---|---|
-pl | --projects | Build specified reactor projects instead of all projects | 选项后可跟随{groupId}:{artifactId}或者所选模块的相对路径(多个模块以逗号分隔) |
-am | --also-make | If project list is specified, also build projects required by the list | 表示同时处理选定模块所依赖的模块 |
-amd | --also-make-dependents | If project list is specified, also build projects that depend on projects on the list | 表示同时处理依赖选定模块的模块 |
-N | --Non-recursive | Build projects without recursive | 表示不递归子模块 |
-rf | --resume-from | Resume reactor from specified project | 表示从指定模块开始继续处理 |
以下是在maven-3.3.9中的试验:
在dailylog-parent目录运行
mvn clean install -pl org.lxp:dailylog-web -am
,结果- dailylog-common成功安装到本地库
- dailylog-parent成功安装到本地库
- dailylog-web成功安装到本地库
该命令等价于
mvn clean install -pl ../dailylog-web -am
在dailylog-parent目录运行
mvn clean install -pl ../dailylog-common -am
,结果- dailylog-common成功安装到本地库
- dailylog-parent成功安装到本地库
在dailylog-parent目录运行
mvn clean install -pl ../dailylog-common -amd
,结果- dailylog-common成功安装到本地库
- dailylog-web成功安装到本地库
由于dailylog-parent并不依赖dailylog-common模块,故没有被安装
在dailylog-parent目录运行
mvn clean install -pl ../dailylog-common,../dailylog-parent -amd
,结果- dailylog-common成功安装到本地库
- dailylog-parent成功安装到本地库
- dailylog-web成功安装到本地库
在dailylog-parent目录运行
mvn clean install -N
,结果- dailylog-parent成功安装到本地库
- N表示不递归,那么dailylog-parent管理的子模块不会被同时安装
在dailylog-parent目录运行
mvn clean install -pl ../dailylog-parent -N
,结果- dailylog-parent成功安装到本地库
在dailylog-parent目录运行
mvn clean install -rf ../dailylog-common
,结果- dailylog-common成功安装到本地库
- dailylog-web成功安装到本地库
最新文章
- teamviewer ";TeamViewer Daemon is not running
- .Net中使用aliases让相同命名空间的dll引用共存
- Splay伸展树学习笔记
- Linq 101 工具和源码
- python 文件操作,seek, tell, name...
- display:none与visible:hidden区别
- 动态规划(计数DP):HDU 5136 Yue Fei's Battle
- 如何删除textarea的移动版Safari的阴影?
- linux的基本命令
- highlight.js 代码高亮插件的使用
- hdu1018 Big Number---N!的位数
- Go 语言环境安装
- spring4笔记----“零配置”:spring提供的几个Annotation标注
- jQuery的回调管理机制(三)
- 工具运行过程中,CPU占用过高的分析定位
- iOS - Bundle 资源文件包生成和常见资源文件使用
- No.1100_第九次团队会议
- Ribbon对于SocketTimeOutException重试的坑以及重试代码解析
- 关于react-router-dom的一些记录
- Myeclipse编辑jsp文件很卡是什么原因?