GraalVM is a Java platform that compiles applications ahead of time into standalone native binaries and includes a JDK usable in IDEs.
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
Install via SDKMAN!
sdk install mvnd - 2
Or install via Homebrew
brew install mvndaemon/homebrew-mvnd/mvnd - 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
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
A Java framework for building command line apps with annotations or a programmatic API, supporting subcommands, ANSI colors and shell autocompletion.
A set of Java annotation-processing code generators, including AutoValue, AutoFactory, AutoService and Common helpers.
A build-plugin framework for Gradle and Maven that runs code formatters and linters across many languages and file types.
A Java library for building Telegram bots on the Telegram Bot API, supporting both long polling and webhooks.
A fast source code search and cross-reference engine written in Java, able to index code and version control history.