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成功安装到本地库
Maven的-pl -am -amd参数的更多相关文章
- Maven的-pl -am -amd参数学习
昨天maven的deploy任务需要只选择单个模块并且把它依赖的模块一起打包,第一时间便想到了-pl参数,然后就开始处理,但是因为之前只看了一下命令的介绍,竟然花了近半小时才完全跑通,故记录此文. 假 ...
- maven 常见命令 学习笔记(一)之 -pl -am -amd
假设现有项目结构如下 dailylog-parent|-dailylog-common|-dailylog-web 三个文件夹处在同级目录中 dailylog-web依赖dailylog-common ...
- (转)如何在maven环境中设置JVM参数
有时候我们需要设定maven环境下的JVM参数,以便通过maven执行的命令或启动的系统能得到它们需要的参数设定.比如:当我们使用jetty:run启动jetty服务器时,在进行热部署时会经常发生:J ...
- Jenkins参数化构建(二)之 Maven command line使用Jenkins参数
安装Extened Choice Parameter插件 General模块选择‘参数化构建过程’ 3. maven command line中使用 clean test -DsuiteXmlFi ...
- Maven 跳过测试命令行参数 skip test
mvn package -Dmaven.test.skip=true
- Maven POM元素继承
为了减少重复代码的编写,我们需要创建POM的父子结构,然后在POM中申明一些配置供子POM继承,以实现"一处申明,多处使用的"目的.以之前的模块中的结构为基础,在account-a ...
- maven pom继承与聚合
一.POM聚合模块: 在分布式架构,分模块化开发中,每个某块可能都是一个单独的maven项目,能够独立的进行项目构架,当模块比较多时,可以使用maven聚合聚合项目来简化maven构建,一次构建多个项 ...
- mvn高级构建
指定pom文件,打包指定的module,并且自动打包这个模块所依赖的其他模块. mvn clean install -f vmc-business-parent/pom.xml -pl vmc-sch ...
- 反应堆Reactor
mvn -h 可以看到很多命令及其用途:-am --also-make 同时构建所列模块的依赖模块:-amd -also-make-dependents 同时构建依赖于所列模块的模块:-pl --pr ...
随机推荐
- Display属性学习总结
HTMl元素根据表现形式,常见的可以分为两类. (1)块元素(block) (2)行内元素(inline). 当然,除了以上两种元素类型外,还有inline-block.table-cell等元素类型 ...
- 8.Cisco DHCP中继详解
1.网络中的终端通过发送DHCP广播的方式来获取IP地址信息.由于VLAN隔离广播,当终端与DHCP服务器不在同一广播域时,就需要用到DHCP中继. 2.DHCP服务的原理概述: DHCP服务器想要给 ...
- 微信支付V3 SDK Payment Spring Boot 1.0.6 发布,实现留守红包,助力抗疫
春节将至,为防控疫情,多地政府提倡员工.外来务工者留守本地过年,并鼓励企业向员工发放"留守红包".为此,微信支付推出"春节留守红包"能力,希望可以协助有发放需求 ...
- Codeforces Round #651 (Div. 2) C. Number Game(数论)
题目链接:https://codeforces.com/contest/1370/problem/C 题意 给出一个正整数 $n$,Ashishgup 和 FastestFinger 依次选择执行以下 ...
- hdu5438 Ponds
Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submissi ...
- streamlink 安装使用
CentOS 安装: pip install streamlink 使用: #查看视频信息 streamlink $URL #下载视频 streamlink $URL best streamlink ...
- c#中几种常见的数据结构
数组(Array): 1.数组存储在连续的内存上 2.数组的元素类型必须相同 3.数组可以直接通过下标访问 4.查找与修改元素的速度非常快 5.必须在声明时指定长度 动态数组(ArrayLis ...
- 深入了解typeof与instanceof的使用场景及注意事项
JavaScript中的数据类型分为两类,undefined,number,boolean,string,symbol,bigint,null[1]组成的基础类型和Object.Function.Ar ...
- Excel添加超链接
using Microsoft.Office.Interop.Excel; Worksheet sheet; public void AddLink(int row, int col, string ...
- anaconda python3.7 安装 tensorflow-gpu 2.0.0 beta1 配置PyCharm
参考tensorflow 公众号<tensorflow2.0 安装指南> https://mp.weixin.qq.com/s/7rNXFEC5HYe91RJ0-9CKdQ # 1. NV ...