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成功安装到本地库
Maven的-pl -am -amd参数学习的更多相关文章
- 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 ...
- Windows10 + eclipse + JDK1.8 + Apache Maven 3.6.0 + dl4j深度学习环境配置
Windows10 + eclipse + JDK1.8 + Apache Maven 3.6.0 + dl4j深度学习环境配置 JDK下载安装请自行,并设置好环境变量1 查看Java版本C:\Use ...
- (转)如何在maven环境中设置JVM参数
有时候我们需要设定maven环境下的JVM参数,以便通过maven执行的命令或启动的系统能得到它们需要的参数设定.比如:当我们使用jetty:run启动jetty服务器时,在进行热部署时会经常发生:J ...
- [转]Python3之max key参数学习记录
Python3之max key参数学习记录 转自https://www.cnblogs.com/zhangwei22/p/9892422.html 今天用Python写脚本,想要实现这样的功能:对于给 ...
- ORACLE PL/SQL异常处理(Exception)学习笔记
1.PL/SQL错误类型 错误类型 报告者 处理方法 编译时错误 PL/SQL编译器 交互式地处理:编译器报告错误,你必须更正这些错误 运行时错误 PL/SQL运行时引擎 程序化地处理:异常由异常处理 ...
- AMD规范学习笔记
背景 NodeJS的一套比较简洁 Moudles 规范, 使得在服务器端的模块化变得更加简单.很长一段时间,很多公司或者项目都有自己的一套模块化机制, 却未能形成一套统一的标准, NodeJS的Mou ...
- maven profiles、filters、resources学习笔记 及 常用 plugin demo
这里只记了学习以下博客后,自己做的一个总结. 来源:http://blog.csdn.net/fengchao2016/article/details/72726101 profiles定义了一些不同 ...
- PL/SQL语言的学习笔记
一.PL/SQL简介1.什么是PL/SQL程序?(PL/SQL是对SQL语言的一个扩展,从而形成的一个语言) 2.PL/SQL语言的特点(操作Orcale数据库效率最高的就是PL/SQL语言,而不是C ...
随机推荐
- C#中对字符串的加密和解密
加密: /// <summary> /// 对字符串进行加密 /// </summary> /// <param name="proclaimText" ...
- 12.1——类的定义与声明,隐含的this指针
类的定义与声明: (1)将const放在成员函数的形参列表之后,可以将将成员函数声明为常量,而它的意思是函数不能改变所操作的数据成员 这里必须在声明和定义处都加上const. (2)成员函数有一个隐含 ...
- 从零开始写STL-二叉搜索树
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值: 若它的 ...
- Java的条件判断
以下内容引用自http://wiki.jikexueyuan.com/project/java/decision-making.html: 在 Java中有两种类型的条件判断语句,它们分别是: if语 ...
- java 返回json数据
Student st1 = new Student(1, "dg", 18, new Date()); Student st2 = new Student(2 ...
- centos7备份还原与grub2引导和rescue模式修改root密码
一.centos7备份1.su -2.cd /3.tar -zpPcvf backup.tgz --exclude=/sys --exclude=/mnt --exclude=/proc --excl ...
- 对dispatch_async到主线程的逻辑封装成C/C++接口类型
背景:代码里面有时候会把将要运行的内容放到主线程里面运行,但假设已经是主线程里面的代码调用dispatch_async的时候偶尔会出现crash,所以就须要推断是否已经在主线程里面了. 通常的做法类似 ...
- Swift简单介绍 教程
Swift是什么? Swift是苹果于WWDC 2014公布的编程语言.这里引用The Swift Programming Language的原话: Swift is a new programmi ...
- Android 使用 DownloadManager 管理系统下载任务的方法
在红黑联盟上看到的.这几天一直考虑做一个Notification 的带下载功能的自己定义通知.但没搞出来.无意中在论坛看到这个.先Mark,明天试试. 从Android 2.3(API level 9 ...
- poj 1840 哈希
Eqs Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 14093 Accepted: 6927 Description ...