今天在项目里新添加了一个Module, 但是在jenkins编译的时候会将这个Module也编译, 问题是这个Module根本不需要编译而且巨慢。

因此我只想编译指定模块 ModuleA以及它依赖的必须模块, 以下是相关的命令

-am --also-make 同时构建所列模块的依赖模块;
-amd -also-make-dependents 同时构建依赖于所列模块的模块;
-pl --projects <arg> 构建制定的模块,模块间用逗号分隔;
-rf -resume-from <arg> 从指定的模块恢复反应堆。

我本来的模块是

<modules>
<module>ModuleA</module>
<module>ModuleB</module>
<module>ModuleC</module>
<module>ModuleD</module>
<module>ModuleE</module>
</modules>

首先查看一下依赖关系

mvn dependency:tree

当不然不是上面这句, 所有的依赖关系太复杂了, 会列出依赖的所有的包

自己打开各个module的pom看一下互相之间的依赖就行

假如只想编译ModuleB及其依赖的模块, 那么在编译的时候

mvn clean install -pl ModuleB -am 

假设Module依赖了A和C, 那么在编译的时候就只会编译A B C三个模块~

如果ModuleD依赖了B, 然后在编译的时候使用了-amd的话, 那么ModuleD也会被编译, 这个意思就是编译依赖了所列模块的模块

mvn clean install -pl ModuleB -am -amd

使用上面的命令会同时编译 A B C D ~

-rf 选项用于选择起始位置(发现结合-rf的时候, -am和-amd是需要后置的)

假设ModuleA和ModuleC都依赖ModuleB, 那么如果在ModuleB截断, 整个流程不会变, 如果在ModuleA截断, 那么只会从ModuleA开始执行后面的构建流程。

mvn install -pl ModuleB -am -amd -rf ModuleA

上面的命令是从ModuleA开始截断的

总结

一般来说经常用到的命令, 你想编译的Module: ModuleX

mvn clean install ModuleX -am

这行就够了。

Maven编译指定(跳过)Module的更多相关文章

  1. (转) Eclipse Maven 编译错误 Dynamic Web Module 3.1 requires Java 1.7 or newer 解决方案

    场景:在导入Maven项目时候遇到如下错误. 1 问题描述及解决 Eclipse Maven 开发一个 jee 项目时,编译时遇到以下错误:Description Resource Path Loca ...

  2. Maven 编译错误 Dynamic Web Module 3.0 requires Java 1.6 or newer 解决方案

    Eclipse Maven 开发一个 jee 项目时,编译时遇到以下错误:Description Resource Path Location TypeDynamic Web Module 3.0 r ...

  3. Maven编译时跳过Test

    在使用Maven编译项目时发现,可能在Test中写了一些有问题的代码,但是,由于写的代码比较多,所以不愿意去找具体的错误,反正Test中的代码不会影响项目的正常运行.于是想在编译时跳过对Test部分的 ...

  4. Eclipse Maven 编译错误 Dynamic Web Module 3.0 requires Java 1.6 or newer 解决方案

    Eclipse Maven 开发一个 jee 项目时,编译时遇到以下错误:Description Resource Path Location TypeDynamic Web Module 3.0 r ...

  5. maven 编译指定模块

    编译构建指定的模块 mvn clean install -pl   model1,model2 -am -Dmaven.test.skip=true

  6. Maven配置插件跳过测试代码的编译和运行

    Maven配置插件跳过测试代码的编译和运行: <!-- 编译插件 --> <plugin> <groupId>org.apache.maven.plugins< ...

  7. Maven 编译跳过检查

    Maven 编译跳过检查 使用maven打包的时候指令:clean package, 但过程可会有提示检测错误,如果想跳过检查,需加上:-Dmaven.test.skip=true 完整指令: cle ...

  8. Maven编译代码的时候跳过单元测试

    Maven编译代码的时候跳过单元测试 <properties> <maven.test.skip>true</maven.test.skip> </prope ...

  9. Eclipse Maven编译报不支持muti-catch

    最近几次使用maven编译,总是报一下的错误:source 1.6 中不支持 multi-catch 语句,(请使用 -source 7 或更高版本以启用 multi-catch 语句) 问题很清楚, ...

随机推荐

  1. flask上下文管理相关 - threading.local 以及原理剖析

    threading.local 面向对象相关: setattr/getattr class Foo(object): pass obj = Foo() obj.x1 = 123 # object.__ ...

  2. C语言笔试

    1.一个C程序的执行时从本程序的main开始,到main结束. 2.C语言规定else总是与在其之前的未配对的最近if配对. 3.int型数据在内存中的存储形式是补码. 4.数组一旦定义其大小是固定的 ...

  3. DNS域名解析系统_1

    DNS服务概述: DNS的模式为C/S模式 DNS(Domain Name System)域名系统,在TCP/IP网络中有非常重要的地位,能够提供域名与ip地址的解析服务. DNS是一个分布式数据库, ...

  4. 使用请求包装器RequestWrapper 对博客内容进行编码

    1.写一个文章类 代码如下 package model; public class article { private int id; private String title; private St ...

  5. 洛谷 题解 P1352 【没有上司的舞会】

    树形DP的一道较为基础的模板题 状态 dp[i][0/1]为第i个员工是否来参加的最大值 转移 先找到根节点 先遍历完它的儿子,再来更新答案 dp[i][0]+=max(dp[j][0],dp[j][ ...

  6. 数组工具类 Arrays

    public  static String toString(数组),将参数数组变成字符串,用来实现数组常见的操作 public static void sort(数组),按照批人升序对数组的元素进行 ...

  7. SQLite进阶-16.索引

    目录 索引 创建索引 查看索引 删除索引 创建索引的注意项 索引使用(Indexed By) 索引 索引(Index)是一种特殊的查找表,数据库搜索引擎用来加快数据检索.简单地说,索引是一个指向表中数 ...

  8. 洛谷P4779 【模板】单源最短路径

    P4779 [模板]单源最短路径(标准版) 题目链接 https://www.luogu.org/problemnew/show/P4779 题目描述 给定一个 N个点,M条有向边的带非负权图,请你计 ...

  9. 环信联合创始人: Saas敏捷开发实践!

    马晓宇 --环信联合创始人/执行总裁 我们是一个做云服务的创业公司,所以我就云服务创业公司的角度,来谈谈我们是怎么去实践敏捷开发的.确切地说,就是讲讲我们这几年的这些教训... 1-创业公司敏捷开发流 ...

  10. table html

    <html><head><title>demo-110101</title><style type="text/css"> ...