当前位置: 首页 > news >正文

maven -pl -am -amd

maven常见命令之 -pl -am -amd

昨天maven的deploy任务需要只选择单个模块并且把它依赖的模块一起打包,第一时间便想到了-pl参数,然后就开始处理,但是因为之前只看了一下命令的介绍,竟然花了近半小时才完全跑通,故记录此文。

假设现有项目结构如下

dailylog-parent
|-dailylog-common
|-dailylog-web

  • 三个文件夹处在同级目录中
  • dailylog-web依赖dailylog-common
  • dailylog-parent管理dailylog-common和dailylog-web。

根据资料已知:

参数全称释义说明
-pl–projectsBuild specified reactor projects instead of all projects选项后可跟随{groupId}:{artifactId}或者所选模块的相对路径(多个模块以逗号分隔)
-am–also-makeIf project list is specified, also build projects required by the list表示同时处理选定模块所依赖的模块
-amd–also-make-dependentsIf project list is specified, also build projects that depend on projects on the list表示同时打包依赖该模块的模块
-N–Non-recursiveBuild projects without recursive表示不递归子模块
-rf–resume-fromResume 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成功安装到本地库
http://www.lryc.cn/news/131729.html

相关文章:

  • 高效解决Anaconda Prompt报错Did not find VSINSTALLDIR这类问题
  • 将iPhone备份到移动硬盘
  • 找工作 相关资料
  • 罗勇军 → 《算法竞赛·快冲300题》每日一题:“排列变换” ← 贪心算法
  • 算法修炼Day51|● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费
  • LVS-DR模型实例
  • Vue面试题
  • 使用图像处理算法检测金属表面的生锈区域: Python实现及步骤解析
  • 通过爬虫抓取上市企业利润表并在睿思BI中展示
  • 填充柄功能
  • Python爬虫性能优化:多进程协程提速实践指南
  • mongodb export(2023新)
  • css-flex使用
  • SAP安全库存-安全库存共享、安全库存简介
  • CentOS自己搭建时钟同步服务实操
  • 高阶数据结构-图
  • Linux/Ubuntu 的日常升级和安全更新,如何操作?
  • Linux自动挂载U盘
  • Edge浏览器免费使用GPT3.5
  • 面试题--redis篇
  • Android Studio 新建module报错:No signature of method
  • python使用dir()函数获取对象中可用的属性和方法(看不到python源码又想知道怎么调用,DLL调用分析,SDK二次开发技巧)
  • 【MySQL系列】SQL语句入门(创建删除操作)、字符集和数据类型详解
  • 谈谈召回率(R值),准确率(P值)及F值
  • 【脚本推荐】网页字体渲染插件
  • c++——c/c++中的static和const
  • 解决git:‘remote-http‘ 不是一个 git 命令错误提示
  • 深度学习入门-3-计算机视觉-卷积神经网络
  • 前端面试:【闭包】JavaScript世界的神秘法术
  • Ubuntu20 ctrl+alt+T无法打开终端