解决Maven多模块编译慢的问题

作者:长风2015 时间:2022-10-09 23:58:02 

Maven多模块编译慢

最近在部署项目时发现,Maven编译打包相当耗时,比之前项目用Gradle慢了很多倍,特别是对于WEB工程,打war包花的时间很长,在unix主机下一般会用到3到4分钟,如果有多个WEB工程,那简直不能忍受,经过查找资料并结合本人真实验证,原本编译打包需要8分钟的项目,优化编译后时间减少至34秒。

如下图:

解决Maven多模块编译慢的问题

其中下面标红两个工程为WEB工程。下面来说一下进行了哪些优化:

  • 1、增加跳过测试代码的编译命令 -Dmaven.test.skip=true ;

  • 2、增加编译-Dmaven.compile.fork=true 参数,用以指明多线程进行编译;

  • 3、如果你用的Maven是3.×以上版本,可以增加 -T 1C 参数,表示每个CPU核心跑一个工程;

完整命令如下


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

Maven多模块编译中遇到的坑

一、概述

Maven使用过程中,如果使用多model的形式组织项目,单个模块之间是相互独立的;编译整个root目录时会对每个模块都进行统一编译。单单对某个模块进行编译,该模块不会对其他模块进行编译,即便是其引用的模块。

二、坑描述和解决方法

踩坑描述

在对一个通用jar包进行打包时,该模块对其他模块进行了引用,由于引用模块的代码进行了修改,在使用该包的过程成老是出现错误;

解决方法

对root目录进行打包,这样整个项目就会重新编译,修改的依赖代码就可以更新了;

或者是把引用模块重新编译,install一下,然后在编译模块时重新引用一下。

来源:https://blog.csdn.net/posonrick/article/details/51917703

标签:Maven,多模块,编译慢
0
投稿

猜你喜欢

  • Android仿Iphone屏幕底部弹出半透明PopupWindow效果

    2023-08-17 06:14:43
  • java实现对Hadoop的操作

    2021-10-05 16:30:37
  • 浅析java移位符的具体使用

    2023-12-21 09:36:13
  • 自己动手实现mybatis动态sql的方法

    2023-03-07 16:14:12
  • Android Studio实现弹窗设置

    2022-08-20 19:49:03
  • java 在Jetty9中使用HttpSessionListener和Filter

    2021-10-01 14:44:00
  • C#使用NPOI实现Excel导入导出功能

    2022-11-01 22:36:19
  • Android studio 3.0安装配置方法图文教程

    2021-05-26 14:48:42
  • Spring Cloud Alibaba使用Nacos作为注册中心和配置中心

    2021-07-15 18:18:42
  • 详解C#中的属性和属性的使用

    2023-12-03 09:51:39
  • Android图像处理之绘制圆形、三角形及扇形的头像

    2022-10-13 14:01:48
  • 全网最全SpringBoot集成swagger的详细教程

    2021-10-25 16:53:44
  • Android中检查、监听电量和充电状态的方法

    2023-05-15 23:23:19
  • SpringBoot超详细讲解@Value注解

    2022-03-06 12:05:36
  • 解析C#多线程编程中异步多线程的实现及线程池的使用

    2021-10-23 02:36:23
  • 关于C++一些特性的探究

    2022-04-10 07:17:54
  • Gradle的基本使用

    2023-05-29 00:08:42
  • Java异常处理中的一些特殊情况举例

    2021-10-11 20:31:54
  • C#实现图形位置组合转换的方法

    2022-01-23 17:29:35
  • Android开发必知 九种对话框的实现方法

    2022-10-23 07:47:26
  • asp之家 软件编程 m.aspxhome.com