Repolode
apache

apache/maven-mvnd

一个加速 Maven 构建的工具,通过常驻后台守护进程、原生客户端和并行模块构建缩短编译时间。

Star
3,452
Fork
252
未关闭 Issue
94
最近提交
昨天

这是什么?

mvnd 即 Maven Daemon,是 mvn 命令的替代品,目标是让 Maven 构建更快。它内嵌了 Maven,无需单独安装 Maven,构建任务在一个长期运行的后台 JVM 进程中执行,并可连续处理多次构建请求。插件的类加载器和 JIT 编译后的代码会在构建之间保留,因此重复构建无需重新启动 JVM,也不必重复解析插件 jar。

客户端使用 GraalVM 编译为原生可执行文件,启动更快、占用内存更少。默认情况下,模块会使用除一个以外的所有 CPU 核心并行构建,控制台为每个构建线程单独显示一行状态,构建结束后再输出完整的 Maven 日志。当没有空闲守护进程时,还可以并行启动多个守护进程。

可以通过 SDKMAN!、Homebrew、MacPorts、aqua 安装,也可以手动下载 ZIP 包。守护进程需要 Java 17 或更高版本,原生客户端已为多个 Linux、macOS 和 Windows 平台提供。

核心功能

  • 01内嵌 Maven,无需单独安装
  • 02在连续构建之间复用长期运行的 JVM 守护进程
  • 03默认使用多个 CPU 核心并行构建模块
  • 04提供 GraalVM 原生客户端,启动更快
  • 05以简化视图显示每个构建线程的状态
  • 06兼容 mvn 的命令行参数

适用场景

  • 加速大型多模块 Maven 项目的本地开发构建
  • 减少反复构建时 JVM 启动带来的耗时
  • 在保持命令语法不变的前提下替换脚本中的 mvn

快速上手

  1. 1

    通过 SDKMAN! 安装

    sdk install mvnd
  2. 2

    或通过 Homebrew 安装

    brew install mvndaemon/homebrew-mvnd/mvnd
  3. 3

    在 Maven 项目中使用 mvnd 运行构建

    mvnd verify

使用前须知

  • 守护进程需要 Java 17 或更高版本。
  • 部分平台只能使用 Java 客户端而非原生客户端。

标签

#maven#java#build-tool#build-acceleration#graalvm#daemon#apache-maven#build-management

常见问题

maven-mvnd 是什么?
一个加速 Maven 构建的工具,通过常驻后台守护进程、原生客户端和并行模块构建缩短编译时间。 mvnd 即 Maven Daemon,是 mvn 命令的替代品,目标是让 Maven 构建更快。它内嵌了 Maven,无需单独安装 Maven,构建任务在一个长期运行的后台 JVM 进程中执行,并可连续处理多次构建请求。插件的类加载器和 JIT 编译后的代码会在构建之间保留,因此重复构建无需重新启动 JVM,也不必重复解析插件 jar。
maven-mvnd 可以免费使用吗?用的什么许可证?
maven-mvnd 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
maven-mvnd 还在维护吗?
活跃维护中。maven-mvnd 最近一次提交是在 2026年11月6日。
maven-mvnd 适合用来做什么?
加速大型多模块 Maven 项目的本地开发构建 减少反复构建时 JVM 启动带来的耗时 在保持命令语法不变的前提下替换脚本中的 mvn
maven-mvnd 怎么安装和运行?
通过 SDKMAN! 安装: sdk install mvnd 或通过 Homebrew 安装: brew install mvndaemon/homebrew-mvnd/mvnd 在 Maven 项目中使用 mvnd 运行构建: mvnd verify
在哪里获取 maven-mvnd?
源代码和安装说明在 GitHub 上:https://github.com/apache/maven-mvnd

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目