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 ...
 
随机推荐
- 【POJ1149&BZOJ1280】PIGS(最大流)
			
题意:Emmy在一个养猪场工作.这个养猪场有M个锁着的猪圈,但Emmy并没有钥匙. 顾客会到养猪场来买猪,一个接着一个.每一位顾客都会有一些猪圈的钥匙,他们会将这些猪圈打开并买走固定数目的猪. 所有顾 ...
 - Java学习--反码 原码 补码简析
			
关于课上实验中对小数的处理中出现的问题涉及到原码,反码,补码的问题,所以在网上进行了一下搜索.在原码,反码,补码中的解释可得知,无论是哪一种码,能够表示的数的范围是-2^(位数-1)+1至2^(位数- ...
 - CPU 天梯图
 - Excel小tips - 如何设置表格输入数字后末尾自动添加%
			
选中一列——鼠标右键——设置单元格格式——数字——自定义——0% 按照以上操作完成后,点击确定,就大功告成了.
 - Jmeter的几个关键配置文件
			
1.配置文件位于bin目录下: 2.配置文件可能存在优先级关系,好像user.properties会覆盖jmeter.properties,一般修改配置都是修改或者添加user.properties, ...
 - win7右下角无线网图标显示未连接,但是实际上已连接上,也能上网
			
首先,要确实是不是服务启动的问题,方法很简单,重新启动电脑就可以. 如果问题依旧,那么按下Win+R快捷键,输入“services.msc”,打开服务界面. 然后会看到右侧窗口出现好多设置项,找到“R ...
 - Nuget公布Dll
			
今天要開始写ViewModel了,写完之后系统里的ViewModel都汇总到我这里.然后由我负责ViewModel的公布跟维护,所以Nuget公布Dll就要熟练啦~ 一,安装工具 1.Nuget Pa ...
 - 【Facebook的UI开发框架React入门之八】Image的使用简单介绍(iOS平台)-goodmao
			
--------------------------------------------------------------------------------------------------- ...
 - 在matlab中生成m序列
			
实验环境为matlab2013b 1.首先编写一个mseq.m文件,内容为: function[mseq]=m_sequence(fbconnection) n=length(fbconnectio ...
 - Spark调研笔记第3篇 - Spark集群相应用的调度策略简单介绍
			
Spark集群的调度分应用间调度和应用内调度两种情况,下文分别进行说明. 1. 应用间调度 1) 调度策略1: 资源静态分区 资源静态分区是指整个集群的资源被预先划分为多个partitions,资源分 ...