Maven的-pl-am-amd参数学习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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中的试验
1. 在dailylog-parent⽬录运⾏`mvn clean install -pl org.lxp:dailylog-web -am`,结果
dailylog-common成功安装到本地库
dailylog-parent成功安装到本地库
dailylog-web成功安装到本地库
该命令等价于`mvn clean install -pl ../dailylog-web -am`
2. 在dailylog-parent⽬录运⾏`mvn clean install -pl ../dailylog-common -am`,结果
dailylog-common成功安装到本地库
dailylog-parent成功安装到本地库
3. 在dailylog-parent⽬录运⾏`mvn clean install -pl ../dailylog-common -amd`,结果
dailylog-common成功安装到本地库
dailylog-web成功安装到本地库
由于dailylog-parent并不依赖dailylog-common模块,故没有被安装
4. 在dailylog-parent⽬录运⾏`mvn clean install -pl ../dailylog-common,../dailylog-parent -amd`,结果
dailylog-common成功安装到本地库
dailylog-parent成功安装到本地库
dailylog-web成功安装到本地库
5. 在dailylog-parent⽬录运⾏`mvn clean install -N`,结果
dailylog-parent成功安装到本地库
-N表⽰不递归,那么dailylog-parent管理的⼦模块不会被同时安装
6. 在dailylog-parent⽬录运⾏`mvn clean install -pl ../dailylog-parent -N`,结果
dailylog-parent成功安装到本地库
7. 在dailylog-parent⽬录运⾏`mvn clean install -rf ../dailylog-common`,结果
dailylog-common成功安装到本地库
dailylog-web成功安装到本地库。