mvnd-快速打包maven项目

发布于:2025-06-15 ⋅ 阅读:(18) ⋅ 点赞:(0)

一、简介

mvnd(Maven Daemon)是Apache Maven团队推出的高性能构建工具,旨在解决传统Maven构建速度慢的问题。它通过引入守护进程、GraalVM等技术创新,显著提升构建效率,同时保持与Maven的兼容性。以下是其核心要点:

一、定位与背景

  1. 项目起源

    • 由Apache Maven团队开发,是Maven的子项目,借鉴了Gradle的守护进程和Takari的生命周期优化技术。
    • 目标:在不改变Maven使用习惯的前提下,提供更快的构建速度,与Gradle竞争。
  2. 核心问题解决

    • 传统Maven每次构建需重启JVM,加载插件和依赖,耗时严重;mvnd通过守护进程和缓存机制消除这些开销。

二、核心架构与加速原理

  1. 守护进程(Daemon)

    • 长期运行的后台进程,处理连续构建请求,避免重复启动JVM。
    • 支持并行启动多个守护进程,应对高并发构建。
  2. GraalVM替代JVM

    • 客户端使用GraalVM编译为本地可执行文件,启动速度更快,内存占用更低。
  3. 缓存与JIT优化

    • 插件缓存:插件类加载器在多构建间缓存,避免重复解析(快照版本除外)。
    • JIT保留:即时编译生成的本地代码被保留,重复构建时直接使用优化后的代码,减少编译时间。
  4. 并行构建

    • 默认使用多核CPU并行构建模块(核心数公式:max(可用核数-1, 1)),可通过-T1强制串行。

三、使用注意事项

  1. 命令兼容性

    • 只需将mvn替换为mvnd,参数完全一致(如mvnd clean package -DskipTests)。
  2. 局限性

    • 快照插件:不缓存快照版本插件,每次重新加载。
    • 中文乱码:可能需调整终端编码(与IDEA控制台兼容性有关)。
    • 路径转义:Windows配置文件中路径需双斜杠(\\)。

二、下载安装

github地址:https://github.com/apache/maven-mvnd

1、在github下载mvnd解压,目前最新版1.0.2,目录与maven相似
在这里插入图片描述
2、设置环境变量
在环境变——》系统变量——》path添加{maven-mvnd-path}/bin
在这里插入图片描述
3、查看是否安装完成,终端输入命令 mvnd -v,显示版本即安装完成
在这里插入图片描述

三、idea集成mvnd插件

1、idea插件市场安装Maven Helper插件
在这里插入图片描述
2、安装后重启idea,设置maven helper使用mvnd
在这里插入图片描述
3、更改mvnd的配置

配置文件位置
在这里插入图片描述
更换为自己的本地仓库路径
在这里插入图片描述

更换阿里镜像
在这里插入图片描述

4、右键进行打包项目

在这里插入图片描述

四、打包测试时长

使用maven打包,clean后
在这里插入图片描述
第二次使用maven打包。未clean
在这里插入图片描述

使用mvnd打包,clean后

在这里插入图片描述
第二次打包,未clean。提升了一倍

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到