zoukankan      html  css  js  c++  java
  • 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 --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成功安装到本地库
  • 相关阅读:
    npm, node, pm2 使用笔记
    没加证书的域名通过https访问,错误的访问到有证书的域名项目--已解决
    mysql数据库大表加索引
    上传大文件失败
    ifame 与父页面进行数据交互(跨域)
    windows平台编译PHP及扩展 和 踩过的坑
    vim 使用笔记
    git 在pull/push指定密钥文件
    记一次使用Xshell登陆提示所选用户密钥未在远程主机上注册
    学习网站与参考文档
  • 原文地址:https://www.cnblogs.com/yungyu16/p/13329120.html
Copyright © 2011-2022 走看看