ZetCode

Maven tutorials

Apache Maven is a build automation and project management tool used primarily for Java projects. It describes a project in a declarative Project Object Model (POM) file, the pom.xml, and builds it by following a standard lifecycle of phases such as compile, test, package, and install. Maven favours convention over configuration: a project that follows the standard directory layout needs very little setup to be compiled, tested, and packaged.

E-books

Maven downloads project dependencies from remote repositories such as Maven Central, resolves their transitive dependencies, and caches them in a local repository. All of the actual work is done by plugins: the compiler plugin compiles sources, the Surefire plugin runs tests, and the JAR, Assembly, and Shade plugins package the application. Bills of Materials (BOMs) and multi-module projects help keep versions consistent across large code bases.

Maven basics

Maven dependencies

Maven plugins and packaging

Maven testing

last modified November 13, 2026