mvnd编译项目的速度比maven快3倍以上,你还没用过?

maven-mvnd是ApacheMaven团队基于Gradle和Takari的优点开发的快速构建工具,它使用守护进程实现并行构建,提供与Maven的无缝切换。用户在安装后需配置mvnd.properties文件以指定settings.xml路径。实测显示,mvnd的构建速度显著快于传统Maven。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、介绍

maven-mvnd是Apache Maven团队借鉴了Gradle和Takari的优点,衍生出来的更快的构建工具,maven的强化版!

maven-mvnd 在设计上,使用一个或多个守护进程来构建服务,以此来达到并行的目的!同时,maven-mvnd 内置了maven,因此我可以在maven 过渡到 maven-mvnd的过程中实现 无缝切换!不必再安装maven或进行复杂的配置更改。

1.1、Maven-mvnd介绍

Maven 的优点是稳定可靠,在绝大多数的项目上工作良好,社区生态很完善,几乎所有的 Java 开发者都在用。Maven 的缺点是,对于大一点的项目来说,构建太慢了。有时候只能在服务器端完成构建,心酸呀。

Gradle 的优点是足够的灵活,构建速度也会更快一点,因为使用了后台进程和缓存机制。Gradle 的缺点是版本迭代速度太快,社区跟不上,对于初学者来说,还是有一定的学习曲线。

所有是否有一种能快速构建Java项目的工具时,今天重点推荐maven-mvnd,是Apache Maven团队借鉴了Gradle和Takari的优点,衍生出来的更快的构建工具,maven的强化版,解决Maven构建慢的问题,又不需要重新学习,懂Maven你就能驾驭Maven-mvnd

1.2、maven-mvnd 特性:
  • 嵌入 Maven (所以不需要单独安装 Maven);maven 过渡到 maven-mvnd的过程中实现 无缝切换!所以不需要再安装maven或进行复杂的配置更改。

  • 实际的构建发生在一个长期存在的后台进程中,也就是守护进程。如果没有为构建请求服务的空闲守护进程,则可以并行产生多个守护进程。

  • 一个守护进程实例可以处理来自 mvnd 客户机的多个连续请求。

  • 使用 GraalVM 构建的本地可执行文件。与传统的 JVM 相比,它启动更快,使用的内存更少。

1.3、这种架构带来的优势有:

运行实际构建的 JVM 不需要为每个构建重新启动,节省时间。

JVM 中的实时(JIT)编译器生成的本机代码也保留了下来。与 Maven 相比,JIT 编译花费的时间更少。在重复构建过程中,JIT 优化的代码可以立即使用。

这不仅适用于来自 Maven 插件和 Maven Core 的代码,也适用于来自 JDK 本身的所有代码。


2、下载地址

https://github.com/mvndaemon/mvnd/releases

https://github.com/apache/maven-mvnd/releases/download/1.0-m6/maven-mvnd-1.0-m6-m39-windows-amd64.zip

3、安装与配置


解压安装后,设置mvnd环境变量

指定 settings.xml
注意:mvnd 中,并不会直接使用 mvnd\mvn\conf下的 settings.xml配置,我们需要手动进行执行配置文件路径

首先我们打开 mvnd\conf\mvnd.properties文件

然后在最下方,找到 maven.settings 配置项,并配置好mvn(也可不指定,mvnd自带了maven)
 

4、打包

使用mvn命令打包的耗时,29秒

 使用mvnd命令打包的耗时,10秒

结论显而易见了...

5、如何在jenkins中使用mvnd?

1、Build Steps 去掉 Invoke top-level Maven targets 
,改成Execute Windows batch command,并填入mvnd.exe 命令(mvnd.exe安装的所在目录),例如:

D:\ProgramFiles\maven-mvnd-1.0-m8-m40-windows-amd64\bin\mvnd.exe  clean package install -Dmaven.test.skip=true  -P  test 

然后查看jenkins的控制台输出日志

6、参考文档:

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


maven-mvnd使用步骤,新版Maven,构建速度大幅提升
https://blog.youkuaiyun.com/m4330187/article/details/122278810


mvnd 从入门到大型系统实战,居然比maven快这么多
https://blog.youkuaiyun.com/mxy2404830/article/details/122322666

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值