指定pom文件,打包指定的module,并且自动打包这个模块所依赖的其他模块。

mvn clean install -f pom.xml -pl vmc-business-parent/vmc-schedule-service -am -Dmaven.test.skip=true -Ptest

maven多线程并行编译。

mvn -T 4 clean install -Dmaven.compile.fork=true -Dmaven.test.skip=true

mvn -T 1C clean install -Dmaven.compile.fork=true -Dmaven.test.skip=true

其中 -T 4表示开启4个线程进行并行,-T 1c表示CPU线程的倍数。

mvn高级构建命令

mvn -h 可以看到很多命令及其用途

  • -am --also-make 同时构建所列模块的依赖模块;

  • -amd -also-make-dependents 同时构建依赖于所列模块的模块;

  • -pl --projects 构建制定的模块,模块间用逗号分隔;

  • -rf -resume-from 从指定的模块恢复反应堆。

    假设有如下聚合模块:account-aggregator ,其依次包含如下几个模块:account-parent, account-email, account-persist;其中,account-email和account-persist模块都继承account-parent模块。

    <modules>
    <module>account-email</module>
    <module>account-persist</module>
    <module>account-parent</module>
    </modules>
  • 例一:

    当执行mvn clean install后会得到如下几个模块:account-aggregator, account-parent, account-email, account-persist。

  • 例二:

    -pl 构建制定模块

    当执行mvn clean install -pl accouont-email,account-persist后会得到如下几个模块:account-email和account-persist。

  • 例三:

    -am 选项可以同时构建所列模块的依赖模块。

    当执行mvn clean install -pl account-email -am 后会得到如下几个模块:account-parent和account-email。

  • 例四:

    -amd 选项可以同时构建依赖于所列模块的模块。

    mvn clean install -pl account-parent -amd 后会得到如下模块:account-parent、account-email和account-persist。

  • 例五:

    -rf 选项可以在完整的反应堆构建顺序基础上,指定从哪个模块开始构建。

    mvn clean install -rf account-email ,由于account-email位于第三,它之后有account-persist,因此会得到如下输出模块:account-email和account-persist。

  • 例六:

    在-pl -am或者-pl -amd的基础上,还能应用-rf参数,以对裁剪后的反应堆再次裁剪。

    mvn clean install -pl account-parent -amd -rf account-email

    其中,-pl 和 -amd参数会得到:account-parent, account-email和account-persist模块,在此基础上 -rf参数制定从account-email开始构建,于是会得到:account-email和account-persist。

mvn高级构建的更多相关文章

  1. Android Gradle Plugin指南(六)——高级构建定制

    原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Advanced-Build-Customization ...

  2. svn + jenkins + maven 实现java环境的自动化构建和部署

    1. 环境说明: 系统CentOS 7 x64 IP:  10.6.0.126 1.1 首先安装配置 svn Centos 7  通过yum 安装svn 既可, 版本为1.7.14 # yum -y ...

  3. Redux 入门到高级教程

    Redux 是 JavaScript 状态容器,提供可预测化的状态管理. (如果你需要一个 WordPress 框架,请查看 Redux Framework.) Redux 除了和 React 一起用 ...

  4. android studio+grade配置构建

    Android 构建系统编译应用资源和源代码,然后将它们打包成可供您测试.部署.签署和分发的 APK.android Studio 使用 Gradle 这一高级构建工具包来自动化执行和管理构建流程,同 ...

  5. [ci]jenkins构建容器项目java-helloworld-非docker plugin模式

    栗子思路说明: 不使用任何docker plugin 使用jenkins server本地(含mvn环境)构建,无jenkins slave jenkins server本地构建的war包,推送dep ...

  6. maven实战(4)-- maven构建自己的jar到本地仓库中

    在平时的开发中,经常需要用到自己以前开发的一个jar包,那么如何使用将自己开发的jar提交到本地仓库中,供其他的项目依赖呢?主要有三种方法: (1)使用mvn的构建命令:mvn clean insta ...

  7. 使用maven-pom进行依赖管理与自动构建

    使用maven-pom进行依赖管理与自动构建 span.kw { color: #007020; font-weight: bold; } /* Keyword */ code > span.d ...

  8. idea ssm项目出现日志中文乱码,封装的json中的msg字段中文乱码(但是json封装的bean中的字段不乱码)等其他各种项目下的中文乱码解决方案

    开头划重点!(敲黑板):rebuild和mvn package的循环往复好几次的操作是解决这个问题的最主要的方法! 经过多次试验,发现这样做就可以正常显示中文了 我说为什么有时候乱码,有时候中文正常, ...

  9. pytest+jenkins+allure 生成测试报告发送邮件

    前言第一部分:Pycharm for Gitee1. pycharm安装gitee插件2. gitee关联本地Git快速设置- 如果你知道该怎么操作,直接使用下面的地址简易的命令行入门教程:3. Gi ...

随机推荐

  1. 开发单体web shop] 6. 商品分类和轮播广告展示

    目录 商品分类&轮播广告 商品分类|ProductCategory 需求分析 开发梳理 编码实现 轮播广告|SlideAD 需求分析 开发梳理 编码实现 福利讲解 源码下载 下节预告 商品分类 ...

  2. DataTable.Select筛选过滤数据返回DataRow[]转为DataTable添加到DataSet

    问题还原,如图所示,我们要筛选所有SHDP 为北京翠微KR的数据. 1. 筛选DataTable微软为我们提供了一个方法DataTable.Select(),其用法如下: 1)  Select()—— ...

  3. 包含时间的Json序列化

    public static string ObjectToJson<T>(T t) { using (MemoryStream ms = new MemoryStream()) { Dat ...

  4. grep与正则表达式:

    1.grep程序 Linux下有文本处理三剑客 -- grep sed awk grep:文本 行过滤工具 sed: 文本 行编辑器(流编辑器) awk:报告生成器(做文本输出格式化)  grep   ...

  5. [转帖]看完这篇文章,我奶奶都懂了https的原理

    看完这篇文章,我奶奶都懂了https的原理 http://www.17coding.info/article/22 非对称算法 以及 CA证书 公钥 核心是 大的质数不一分解 还有 就是 椭圆曲线算法 ...

  6. [转帖]Linux /tmp目录下执行脚本失败提示Permission denied

    Linux /tmp目录下执行脚本失败提示Permission denied https://www.cnblogs.com/linyfeng/p/11087655.html 国产化的环境上 就有一个 ...

  7. 微信小程序打开地图选择位置

    wx.getLocation({ type: 'wgs84', success(res) { const latitude = res.latitude const longitude = res.l ...

  8. 第一次编译ffmpeg

    今天开始玩ffmpeg了. 从官网下载来的压缩包,不会编译诶,于是我开始研究起来了. 下面就是实时记录的随笔: 首先是从官网下载来的ffmpeg,就是下面这个版本,目前的最新版吧. http://ff ...

  9. Codeforces 1229C. Konrad and Company Evaluation

    传送门 首先考虑如何算出答案,考虑枚举中间那个点,显然每个点作为中间的点的次数为入度乘出度 所以答案就是每个点的入度乘出度之和 然后每个点开一个 $vector$ 维护从它出去的点数,每次修改的时候直 ...

  10. golang(4):函数 & 数组 & 切片 & map & 锁

    内置函数 // 1. close:主要用来关闭channel // 2. len:用来求长度,比如string.array.slice.map.channel // 3. new:用来分配内存,主要用 ...