Skip to content

Apache Maven

Declarative builds for JVM projects, driven by a pom.xml.

Homebrew formula Direct download

What it does

Maven builds Java projects from a declarative POM: dependencies are coordinates resolved from Maven Central into ~/.m2/repository, and the build itself is a fixed lifecycle (validate, compile, test, package, install, deploy) that plugins bind into.

Its value is conventions over configuration — any Maven project builds with mvn package regardless of who wrote it.

Notes

Requires a JDK, so it pulls in openjdk. The local repository under ~/.m2 grows without bound and is safe to delete when disk gets tight.

Alternative to

AlternativeTypeTrade-off
GradleOpen sourceFaster incremental builds, Kotlin or Groovy build scripts instead of XML
BazelOpen sourceFor very large, multi-language repositories
sbtOpen sourceThe Scala world’s default
AntOpen sourceThe predecessor; you will meet it in old projects

Install

brew install maven

Links

This post is licensed under CC BY 4.0 by the author.
Last updated on