Apache Maven is a software project management and comprehension tool based on the concept of a project object model (POM). Using this central piece of information Maven can manage a project's build, reporting and documentation.
At its heart, Maven is a plugin execution framework; all work is done by plugins. There are essentially two types of plugins, build and reporting.
Build plugins are executed during the application build process and should be configured in the build element of the POM. The reporting plugins are executed during the site generation and should be configured in the reporting element of the POM.