本文转载自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成功安装到本地库

最新文章

  1. teamviewer "TeamViewer Daemon is not running
  2. .Net中使用aliases让相同命名空间的dll引用共存
  3. Splay伸展树学习笔记
  4. Linq 101 工具和源码
  5. python 文件操作,seek, tell, name...
  6. display:none与visible:hidden区别
  7. 动态规划(计数DP):HDU 5136 Yue Fei's Battle
  8. 如何删除textarea的移动版Safari的阴影?
  9. linux的基本命令
  10. highlight.js 代码高亮插件的使用
  11. hdu1018 Big Number---N!的位数
  12. Go 语言环境安装
  13. spring4笔记----“零配置”:spring提供的几个Annotation标注
  14. jQuery的回调管理机制(三)
  15. 工具运行过程中,CPU占用过高的分析定位
  16. iOS - Bundle 资源文件包生成和常见资源文件使用
  17. No.1100_第九次团队会议
  18. Ribbon对于SocketTimeOutException重试的坑以及重试代码解析
  19. 关于react-router-dom的一些记录
  20. Myeclipse编辑jsp文件很卡是什么原因?

热门文章

  1. MySql数据表设计,索引优化,SQL优化,其他数据库
  2. Spring boot 自定义注解标签记录系统访问日志
  3. java--Aop--记录日志
  4. java正则表示判断。是否以某个关键字结尾的
  5. (10)Linux挂载详解
  6. PHP-文件、目录相关操作
  7. Flink-v1.12官方网站翻译-P009-Event-driven Applications
  8. qmh的测试1
  9. 数位dp整理 && 例题HDU - 2089 不要62 && 例题 HDU - 3555 Bomb
  10. 加密后的程序在Win8中无法运行