昨天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参数学习的更多相关文章

  1. Maven的-pl -am -amd参数

    本文转载自Maven的-pl -am -amd参数学习 昨天maven的deploy任务需要只选择单个模块并且把它依赖的模块一起打包,第一时间便想到了-pl参数,然后就开始处理,但是因为之前只看了一下 ...

  2. maven 常见命令 学习笔记(一)之 -pl -am -amd

    假设现有项目结构如下 dailylog-parent|-dailylog-common|-dailylog-web 三个文件夹处在同级目录中 dailylog-web依赖dailylog-common ...

  3. 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 ...

  4. (转)如何在maven环境中设置JVM参数

    有时候我们需要设定maven环境下的JVM参数,以便通过maven执行的命令或启动的系统能得到它们需要的参数设定.比如:当我们使用jetty:run启动jetty服务器时,在进行热部署时会经常发生:J ...

  5. [转]Python3之max key参数学习记录

    Python3之max key参数学习记录 转自https://www.cnblogs.com/zhangwei22/p/9892422.html 今天用Python写脚本,想要实现这样的功能:对于给 ...

  6. ORACLE PL/SQL异常处理(Exception)学习笔记

    1.PL/SQL错误类型 错误类型 报告者 处理方法 编译时错误 PL/SQL编译器 交互式地处理:编译器报告错误,你必须更正这些错误 运行时错误 PL/SQL运行时引擎 程序化地处理:异常由异常处理 ...

  7. AMD规范学习笔记

    背景 NodeJS的一套比较简洁 Moudles 规范, 使得在服务器端的模块化变得更加简单.很长一段时间,很多公司或者项目都有自己的一套模块化机制, 却未能形成一套统一的标准, NodeJS的Mou ...

  8. maven profiles、filters、resources学习笔记 及 常用 plugin demo

    这里只记了学习以下博客后,自己做的一个总结. 来源:http://blog.csdn.net/fengchao2016/article/details/72726101 profiles定义了一些不同 ...

  9. PL/SQL语言的学习笔记

    一.PL/SQL简介1.什么是PL/SQL程序?(PL/SQL是对SQL语言的一个扩展,从而形成的一个语言) 2.PL/SQL语言的特点(操作Orcale数据库效率最高的就是PL/SQL语言,而不是C ...

随机推荐

  1. SystemInformationRequestHandlers

    SystemInformationRequestHandlers - Solr Wiki Search: Solr Wiki Login SystemInformationRequestHandler ...

  2. T2627 村村通 codevs

    http://codevs.cn/problem/2627/  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold 题目描述 Description 农民约翰被选为他们 ...

  3. Partition List(链表的插入和删除操作,找前驱节点)

    Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...

  4. Failed to execute 'toDataURL' on 'HTMLCanvasElement,在canvas.toDataURL()执行时候报错解决方案

    添加跨域条件   crossorigin="anonymous" [Redirect at origin 'http://xxx.xx.com' has been blocked ...

  5. eclipse bug之'<>'operator is not allowed for source level below 1.7

    eclipse中导入工程,报这个错'<>'operator is not allowed for source level below 1.7,把jdk改成1.7后,提示Android r ...

  6. 图解TCP/IP第五版 -- 文件夹

    非常多年前买过<TCP/IP具体解释>3卷,当时可能根本没看,也可能是看了又忘了,没有留下什么印象,当时的书也当做废品卖了. 卖书时的感觉貌似是.买了太多的书,基本都没看,搬家搬来搬去的麻 ...

  7. redux-saga 异步流

    前言 React的作用View层次的前端框架,自然少不了很多中间件(Redux Middleware)做数据处理, 而redux-saga就是其中之一,目前这个中间件在网上的资料还是比较少,估计应用的 ...

  8. axis2开发webservice之编写Axis2模块(Module)

    axis2中的模块化开发.能够让开发者自由的加入自己所需的模块.提高开发效率,减少开发的难度. Axis2能够通过模块(Module)进行扩展. Axis2模块至少须要有两个类,这两个类分别实现了Mo ...

  9. 【JAVA】java中Future、FutureTask的使用

    如今的系统基本都是分布式的,各个系统各司其职的,不可能一个系统干了全部系统的事. 所以系统之间的交互就越来越多了.那么系统之间的交互仅仅有通过网络来交互了,而网络必定会存在延时的情况. 比方A系统的一 ...

  10. Android之——AIDL深入

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47071927 在上一篇博文<Android之--AIDL小结>中,我们 ...