Skip to content
EduVerse
Maven

Maven

Explained

Tool

Also known as: Apache Maven

Build system for Java projects that manages dependencies through a central pom.xml file.

Maven, explained

Written by EduVerse

What it is

Maven (Apache Maven) is a build tool for Java projects. In a pom.xml file you describe the project and list its dependencies, and Maven downloads those libraries, compiles the code, runs the tests and packages everything into a jar or war. It expects a standard folder layout, such as src/main/java and src/test/java.

Why teams use it

Before tools like Maven, developers copied jar files into projects by hand and every project was built differently. Maven gives every project the same structure and the same commands, so you can build an unfamiliar codebase right away. Gradle is more flexible; Maven’s fixed conventions make builds predictable and easy to read.

An example from work

You add a library to the dependencies section of pom.xml and run mvn clean install. Maven downloads it into ~/.m2/repository, compiles everything and runs the tests. One test fails, so the build ends with BUILD FAILURE and “There are test failures”; the details are in target/surefire-reports.

Our own explanation, not a quote from the book.

In the book

Sentences from The Software Realm, Decoded that mention Maven, exactly as printed.

    2 more passages about Maven in the full book

    Read every conversation where Maven comes up, with the interactive slides and demos.

    See the book

    Where it fits

    Dependency management, building and publishing Java projects

    Coverage in the book

    Explained

    Explained and compared with alternatives, so you know where and why it’s used.

    Appears in