Repolode
apache

apache/maven-mvnd

A Maven build accelerator that runs Maven builds in long-lived background daemons with a fast native client and parallel module builds.

Stars
3,452
Forks
252
Open issues
94
Last commit
yesterday

What is it?

mvnd is the Maven Daemon, a drop-in replacement for the mvn command that aims to make Maven builds faster. It embeds Maven itself, so no separate Maven installation is required, and it runs builds inside a long-lived background JVM that can serve multiple consecutive requests. Plugin classloaders and JIT-compiled code are kept warm between builds, so repeated builds avoid restarting the JVM and re-parsing plugin jars.

The client is a native executable built with GraalVM, which starts faster and uses less memory than a traditional JVM launch. By default, modules are built in parallel using all but one CPU core, and the console shows the status of each build thread on its own line, with the full Maven output printed once the build finishes. Multiple daemons can run side by side when no idle daemon is available.

Installation is available through SDKMAN!, Homebrew, MacPorts, aqua, or a manual ZIP download. The daemon requires Java 17 or later, and native client binaries are provided for several Linux, macOS and Windows platforms.

Key features

  • 01Embeds Maven, so a separate Maven install is not needed
  • 02Reuses a long-lived JVM daemon across consecutive builds
  • 03Builds modules in parallel by default using multiple CPU cores
  • 04Provides a native GraalVM client with faster startup
  • 05Shows per-thread build status in a simplified console view
  • 06Accepts the same command-line options as mvn

Use cases

  • Speeding up local development builds of large multi-module Maven projects
  • Running repeated CI or local builds where JVM startup time adds up
  • Replacing mvn in scripts while keeping the same command syntax

Quick start

  1. 1

    Install via SDKMAN!

    sdk install mvnd
  2. 2

    Or install via Homebrew

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

    Run a build with mvnd in your Maven project

    mvnd verify

Things to know

  • The daemon requires Java 17 or later.
  • Some platforms only get the Java client instead of the native client.

Topics

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

FAQ

What is maven-mvnd?
A Maven build accelerator that runs Maven builds in long-lived background daemons with a fast native client and parallel module builds. mvnd is the Maven Daemon, a drop-in replacement for the mvn command that aims to make Maven builds faster. It embeds Maven itself, so no separate Maven installation is required, and it runs builds inside a long-lived background JVM that can serve multiple consecutive requests. Plugin classloaders and JIT-compiled code are kept warm between builds, so repeated builds avoid restarting the JVM and re-parsing plugin jars.
Is maven-mvnd free to use? What license does it have?
maven-mvnd is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is maven-mvnd still maintained?
Actively maintained. The last commit to maven-mvnd was on Nov 6, 2026.
What can I use maven-mvnd for?
Speeding up local development builds of large multi-module Maven projects Running repeated CI or local builds where JVM startup time adds up Replacing mvn in scripts while keeping the same command syntax
How do I install maven-mvnd?
Install via SDKMAN!: sdk install mvnd Or install via Homebrew: brew install mvndaemon/homebrew-mvnd/mvnd Run a build with mvnd in your Maven project: mvnd verify
Where can I get maven-mvnd?
The source code and installation instructions are on GitHub: https://github.com/apache/maven-mvnd

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects