Apache Maven is a dependency management and project build system that Elastic Path utilizes to build all of our projects.
The Elastic Path Developer’s guide is not a primer for learning Maven. This manual assumes you already have a basic understanding of Maven profiles, archetypes, etc. For a good Maven primer document, see Sonatype’s online manual Maven: The Complete Reference
Maven is an open source build system that utilizes convention over configuration and has a powerful plug-in system for delegating tasks to different stages of the build cycle.
In Maven, a project is defined by the presence of an XML file called a Project Object Model (POM). In the POM, all necessary project information such as dependencies, properties, project inheritance, and build configurations are declared.
See the Maven POM Reference for more in-depth detail.
Build Cycle Basics
One of the central concepts of Maven is the idea of a build cycle - that the process of building a project is clearly defined. According to this process, the task of building consists of a number of sequential steps that are executed. In other words, in order to move on to the next step, all previous steps must be executed first.
If you are new to Maven you should read Introduction to the Maven Build Lifecycle.