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 ...
随机推荐
- Spring cloud-Bus (消息总线)
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring ...
- 分布式理论 PACELC 了解么?
PACELC 基于 CAP 理论演进而来. CAP 理论是一个分布式系统中老生常谈的理论了: C(Consistency):一致性,所有节点在同一时间的数据完全一致. A(Availability): ...
- shell脚本的使用该熟练起来了,你说呢?(篇一)
作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:羽林君
- Codeforces Round #668 (Div. 2)【ABCD】
比赛链接:https://codeforces.com/contest/1405 A. Permutation Forgery 题意 给出一个大小为 $n$ 的排列 $p$,定义 \begin{equ ...
- CodeForces - 612D 思维
题意: 给你n个线段和一个整数k,你需要找出来所有能被任意k条线段同时覆盖的区间个数的最小值,并按从左到右的顺序输出每个区间. 题解: 对于题目输入的n个线段的左端点L,右端点R,把它们分开放在结构体 ...
- qmh的测试1
题目:传送门 首先输入一个n,之后输入n个数a(1<=a<=1e7),对这n个数排序后,你需要找到所有的它们连续的长度.把这些连续的长度排序后输出 输入 输入: 8 1 5 2 7 4 5 ...
- Pollard_rho算法进行质因素分解
Pollard_rho算法进行质因素分解要依赖于Miller_Rabbin算法判断大素数,没有学过的可以看一下,也可以当成模板来用 讲一下Pollard_rho算法思想: 求n的质因子的基本过程是,先 ...
- 树状数组 && 板子
本文树状数组讲解转载于:https://www.cnblogs.com/xenny/p/9739600.html 本文新加内容为模板代码部分 1.什么是树状数组? 顾名思义,就是用数组来模拟树形结构呗 ...
- ELK + Redis 日志收集 & HAProxy
参考博文:http://www.ttlsa.com/linux/haproxy-log-configuration-syslog/ 引入 Redis 消息队列 Log-file 收集数据到 Redis ...
- OpenStack Train版-13.安装块存储服务cinder(控制节点)
Cinder的核心功能是对卷的管理,允许对卷.卷的类型.卷的快照.卷备份进行处理.它为后端不同的存储设备提供给了统一的接口,不同的块设备服务厂商在Cinder中实现其驱动,可以被Openstack整合 ...