Apache Maven
Ranked 4 of 17 build systems by recommenders
Recommended for dependable, declarative builds and a standard project layout that just works across Java projects and IDEs. Common caveat: XML configuration and hard-to-read errors.
Recommended for dependable, declarative builds and a standard project layout that just works across Java projects and IDEs. Common caveat: XML configuration and hard-to-read errors.
86 people gave an opinion
- recommend it
- 44
- criticize it
- 42
- approval share
- 51%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 44 people recommend itNeeds 10 or more, met.
- 1 recommender for every criticNeeds 2 to 1 or better, not met.
- Recommended in 12 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Stable and mature for decades
“managed to use maven repositories for 3 decades now with very few of these issues”
Comment from 19 Jun 2026 in “Why stdx is not on crates.io” “has been solved good enough by Apache Maven more than 2 decades ago”
Comment from 19 Dec 2025 in “Breaking Changes in Python-3.14” “Maven's been very nice in the decade and a half I've used it”
Comment from 28 May 2026 in “Gradle Is Javamaxxing” - Comment from 5 Aug 2026 in “SwiftUI After 7 Years: A Story of Mediocrity”
- Comment from 5 Dec 2025 in “CSS now has an if() conditional function”
Declarative build config, no code
“I like a lot that Maven doesn't allow to code in the build config”
Comment from 19 Mar 2026 in “Java 26 is here, and with it a solid foundation for the future” “I dislike Gradle and use Maven, I don't want to program my build”
Comment from 8 Apr 2026 in “The Git Commands I Run Before Reading Any Code” “Maven config just tells IDE locations and dependencies.”
Comment from 20 Mar 2026 in “Java 26 is here, and with it a solid foundation for the future” - Comment from 6 Feb 2026 in “GitHub Actions Is Slowly Killing Your Engineering Team”
Dependable standard build layout
“Maven is excellent! Once you understand it, you can work with almost any Maven project without needing to learn the specifics.”
Comment from 3 Dec 2025 in “Anthropic acquires Bun” “The core plugins give you everything you need to build a self-contained jar”
Comment from 20 Mar 2026 in “Java Is Fast. Your Code Might Not Be” “it's dependable, well documented, and it just plain works”
Comment from 20 Mar 2026 in “Java Is Fast. Your Code Might Not Be” - Comment from 20 Mar 2026 in “Java Is Fast. Your Code Might Not Be”
Checksums, signatures, deterministic resolution
“If you ever used Maven, NPM or... I can't think about any other tool that doesn't automatically check checksums and signatures.”
Comment from 25 Jul 2026 in “PyPI Blog: Releases now reject new files after 14 days” “Requires structured namespace ownership and signed artifacts, making identity more explicit at publish time”
Comment from 27 Dec 2025 in “How uv got so fast” “Maven has deterministic dependency resolution (unless you use version ranges, but don't do that)”
Comment from 8 May 2026 in “PySimpleGUI 6”
What people warn about
Each mark is one comment
Hard-to-read error messages
“you get a giant maven error stack trace which you now need to try and understand”
Comment from 5 Jan 2026 in “Web development is fun again” “half of the people don't even know what to do when maven fails inexplicably”
Comment from 15 Sep 2026 in “Java 27” Stale builds need clean install
“only Maven requires doing a clean install from time to time as it fails to properly track what needs updating”
Comment from 3 Dec 2025 in “Anthropic acquires Bun” “with Maven it can easily happen that some edits don't "show" up in behavior”
Comment from 20 Mar 2026 in “Java 26 is here, and with it a solid foundation for the future” Tiresome XML and Groovy setup
“both of which are complex and tiresome, requiring you to deal with either XML (Maven) or Groovy/Kotlin”
Comment from 31 Dec 2025 in “2026: The Year of Java in the Terminal” “every time I have to do a thing in JVM dealing with maven feels like I need a goat or chicken”
Comment from 12 Nov 2025 in “.NET 10”
Other build systems people recommend
The four most recommended other build systems, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| Bazel | 79 | 41 | 66% | 12 | 3 yrs3 owners | — |
| GNU Make | 76 | 42 | 64% | 12 | — | — |
| CMake | 58 | 93 | 38% | 12 | — | — |
| Apache MavenThis page | 44 | 42 | 51% | 12 | — | — |
| Ninja build system | 37 | 10 | 79% | 11 | — | Approved |
What people said
40 of the 108 comments that mention it, newest first. Each links to the original comment.
“half of the people don't even know what to do when maven fails inexplicably”
“I never have to worry about reading gradle/maven docs or anything like that”
“Maven solved the package distribution decades ago.”
“If you ever used Maven, NPM or... I can't think about any other tool that doesn't automatically check checksums and signatures.”
“has largely been replaced by maven, which is gradually being replaced gradle”
“No one in DotNet is waging an equivelent holy war about Gradle vs Maven etc...”
“managed to use maven repositories for 3 decades now with very few of these issues”
“Maven 4 will offer alternative file types via extensions!”
“Maven's been very nice in the decade and a half I've used it”
“Maven is plenty and any time I get back to a repo that has that instead of gradle or sbt I'm much happier.”
“the signing of JARs that are uploaded to the repository, and the fact that most release processes are not fully automated”
“Maven has deterministic dependency resolution (unless you use version ranges, but don't do that)”
“I dislike Gradle and use Maven, I don't want to program my build”
“it's focus on building in standard way is fantastic”
“It's perfect for small and medium sized projects, and for service-oriented architectures/microservices”
“It's perfect for code that is broken into medium-sized projects”
“The core plugins give you everything you need to build a self-contained jar”
“it's dependable, well documented, and it just plain works”
“with Maven it can easily happen that some edits don't "show" up in behavior”
“Maven config just tells IDE locations and dependencies.”
“I like a lot that Maven doesn't allow to code in the build config”
“Maven is XML (yuck) but is okay with the IDE integrations”
“Maven is old and cranky but if something else replaces it, it will probably be quite similar anyway”
“Pretty modern stack. I would start a government service using those today.”
“it's declarative and HARD to make non-trivial things”
“With Maven it is easy to add a plugin with harmful payload as dependency”
“you get a giant maven error stack trace which you now need to try and understand”
“both of which are complex and tiresome, requiring you to deal with either XML (Maven) or Groovy/Kotlin”
“Requires structured namespace ownership and signed artifacts, making identity more explicit at publish time”
“has been solved good enough by Apache Maven more than 2 decades ago”
“You can mount the current directory into docker and run an image of your tool.”
“at least it's been mostly the same since 2006”
“writing maven projects in Java with Eclipse. It works great.”
“Maven was a great idea. Introduce a high barrier to entry for publishing packages.”
“Maven is excellent! Once you understand it, you can work with almost any Maven project without needing to learn the specifics.”
“only Maven requires doing a clean install from time to time as it fails to properly track what needs updating”
“the quality of packages on offer in PIP and NPM versus Maven and NuGet”
“Java Maven artifacts typically name the exact version of their dependencies.”
“every time I have to do a thing in JVM dealing with maven feels like I need a goat or chicken”
“Its package system (Maven and the like) is ok, but not great.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.