Maven helps developers get an overview of the state and dependencies of a Java project in a short time. Although developers still need to understand the basic mechanics of the project, Maven takes the burden of managing many of the details off their shoulders. Maven builds a project using its Project Object Model (POM) and a set of plugins. Once you know how a Maven project works, you can apply that knowledge to all Maven projects. Which, in sum, saves a lot of time.
Maven provides useful project information. Some of these are taken from your POM and some are generated from your project's sources. This can be for example:
- Change log generated directly from source control
- Sources cross-referenced
- Mailing lists managed by the project
- Dependencies used by the project
- Unit test reports including coverage
- Third-party code analysis products also provide Maven plugins that add their reports to the standard information provided by Maven
Maven aims to collect current principles for developing best practices and make it easy to steer a project in that direction. For example, specifying, running, and reporting unit tests are part of the normal build cycle with Maven.