Apache Maven
A software project management tool for Java.
Maven manages Java project builds and dependencies through a declarative pom.xml file. Each project description specifies group/artefact/version coordinates for itself and the libraries it depends on; Maven resolves transitive dependencies, downloads them from one or more repositories, and runs a fixed lifecycle of phases (validate, compile, test, package, install, deploy) with goals plugged in at the appropriate phase.
The Maven Central Repository, which Maven downloads dependencies from by default, hosts hundreds of thousands of Java artefacts and is the de facto package registry for the JVM ecosystem. Most JVM-language tools (Gradle, sbt, Leiningen, Ivy) consume Maven Central as their primary source.
Maven was donated to the Apache Software Foundation in 2003 and remains under its governance. Although Gradle has captured a substantial share of new Java and Kotlin builds because of its faster incremental performance, Maven's stability and predictable structure mean it continues to dominate enterprise JVM projects, and Maven Central's continuing role as the JVM's package registry keeps the file format universally relevant.
Install
Debian/Ubuntu: sudo apt install maven Fedora/RHEL: sudo dnf install maven Arch: sudo pacman -S maven macOS: brew install maven
Authors
- Apache Software Foundation