指定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. python3.4 + pycharm安装与使用

    因个人是windows的环境,所以本文只讲windows环境下的python安装. 作为初用python的盆友,强烈建议只在电脑上装一个python版本就好了,不然就进了各种坑里了. Python安装 ...

  2. 类属性与对象实现,init方法的作用,绑定方法,绑定方法与普通函数的区别,继承,抽象与继承,派生与覆盖

    今日内容: 1.类属性与对象属性 2.init方法的作用 3.绑定方法 4.绑定方法与普通函数的区别(非绑定方法) 5.继承 6.抽象与继承 7.派生与覆盖 1.类属性与对象属性 类中应该进存储所有对 ...

  3. 应用安全 - PHP - CMS - DeDeCMS - 漏洞 - 汇总

    SSV-97074 Date 类型 前台任意密码修改 影响范围 前置条件 CVE-2018-20129 Date 类型前台文件上传 影响范围 前置条件(1)前台登录(2)/member/article ...

  4. 《0day安全-软件漏洞分析技术》实验笔记1

    Crack 小实验 工具 Dev C++(书上使用的VS) IDA_Pro_v7.0 Ollydbg LordPE 010 editor 使用IDA打开文件 找到程序分支点 空格跳转到汇编界面 得到V ...

  5. java-最大公约数

    4和2的最大公约数是2呀

  6. SQLite扫描

    SQLite的扫盲 SQLite的是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite的本身是Ç写的,而且体积很小,所以经常被集成到各种应用程序中,主要在手机的应用中使用. 之前没有遇到过关于 ...

  7. Oracle 行列转换公式

    1.行转列 SELECT STU_NAME,TERM,ZHANBI,COURSE_MARK FROM (SELECT '罗飞' STU_NAME, '2001-2002' TERM, ' 微积分, ' ...

  8. 【VS开发】CTime和CTimeSpan使用

    此文就用一个程序表示,相信只要是学过C语言的都能看得懂的. [html] view plain copy print? // CTimeTest.cpp : Defines the entry poi ...

  9. 【Linux开发】linux设备驱动归纳总结(六):1.中断的实现

    linux设备驱动归纳总结(六):1.中断的实现 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  10. 小米手机Toast带app名称

    如果用小米手机做测试,会发现,Toast弹窗有可能会在前面带app名称.这是因为你传入的context是activity,如果是Application的话,就不会显示app名称.但是,我做测试时,一般 ...