V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wtotal
V2EX  ›  Java

如何提高 maven 打包速度?

  •  
  •   wtotal · 19 小时 42 分钟前 · 1105 次点击
    我试了 win10 、win11 、Windows2012 ~ 2025 ( vmware 中全新安装、打满补丁、关闭自带杀毒)
    和 CentOS7
    用 jdk1.8 ,maven3.5 、maven3.9 测试了 mvn clean package 一个项目,运行第二次后速度基本都稳定了

    速度最快的是 CentOS7 ( 30s ),是速度最快的 Windows2012 ( 60s )一半时间。
    最慢的 win11(90s)

    其他 server 服务器都差不多( 90s )



    表面看,windows 系列打包时 cpu 占用率都偏低,也不知道什么原因。软件还是 os 问题。
    16 条回复    2024-12-17 18:39:09 +08:00
    Xbluer
        1
    Xbluer  
       19 小时 39 分钟前
    mvn -T 参数设置一下试试看
    wzcloud
        2
    wzcloud  
       19 小时 25 分钟前 via iPhone
    有 mvnd 项目,非依赖模块可以并行编译
    zhady009
        3
    zhady009  
       19 小时 21 分钟前
    mvnd + 模块化 + 多线程
    cslive
        4
    cslive  
       9 小时 19 分钟前
    指定多少个线程,跳过测试,使用离线模式
    ratel2018
        5
    ratel2018  
       9 小时 19 分钟前
    对于 maven 打包这件事,首先是模块化+多线程,其次同硬件下 windows 最慢,macOS 至少速度翻倍,linux 还能再快 30%以上。
    我测试过最大的差距,windows11 下的耗时达到过 linux 下的 7 倍。另外测试过 windows7 下的速度大概能和 macOS 相当。
    采用 wsl 打包或者装 linux 虚拟机打包或者 linux 真机打包都能获得至少翻倍甚至数倍的速度。
    renfei
        6
    renfei  
       8 小时 29 分钟前
    自建 Maven 私有仓库,仓库在本地局域网内的话,拉取速度飞快
    wtotal
        7
    wtotal  
    OP
       8 小时 28 分钟前
    @Xbluer 测试的项目有依赖顺序, -T 有时会报错
    renfei
        8
    renfei  
       8 小时 27 分钟前
    我自建的: https://maven.renfei.net 你们用的虽然可能不快,但我本地有景象,服务器上打包就飞快
    Aresxue
        9
    Aresxue  
       6 小时 59 分钟前
    分本地还是线上,本地环境 3 楼的策略你能搞完绝对够用了,线上环境就要复杂的多了,maven 本身就有一些调优参数。
    wtotal
        10
    wtotal  
    OP
       6 小时 2 分钟前
    @renfei 内网已经有了,谢谢
    wtotal
        11
    wtotal  
    OP
       5 小时 39 分钟前
    试了 mvnd 和 mvn -T ,一点区别没有,可能我不会用。
    K1W1
        12
    K1W1  
       4 小时 52 分钟前
    有时间迁移到 gradle ,迁移成本其实并不算高
    wxw752
        13
    wxw752  
       3 小时 35 分钟前
    可能很多人都帮不上忙,好多年不在本地打包了,不太在意时间问题
    cutecore
        14
    cutecore  
       3 小时 26 分钟前
    @wtotal -T 6 或者-T 2C ;加上后 75s > 30s
    unco020511
        15
    unco020511  
       1 小时 55 分钟前
    迁移到 gradle
    viqbgrg
        16
    viqbgrg  
       14 分钟前
    https://stackoverflow.com/questions/6916011/how-do-i-get-windows-to-go-as-fast-as-linux-for-compiling-c

    fsutil behavior set disable8dot3 1
    fsutil behavior set disablelastaccess 1
    这些操作之后还会加快一点,但是好像还是快不过 linux,除非杀毒软件的影响还可能有文件索引之类的影响
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3484 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 10:53 · PVG 18:53 · LAX 02:53 · JFK 05:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.