What is Maven?

Maven is a Java tool that builds and maintains project artefacts (like JAR, EAR or WAR files) from the source code and a project description file, called the POM (Project Object Model).

Maven, much like Ant, has the concept of goals, which correspond to build tasks that depend on the development lifecycle phase (compile, test, package, install, deploy, ...)
The most remarkable feature of Maven, though, is its management of project dependencies. The project POM defines a list of dependencies on artefacts from other projects (like Utility JARs for instance). These artefacts are stored in a central repository, and indexed by their groupId, artefactId and version.


When a developer wants to build a project, he/she doesn't need to worry about where to find the JARs that are required, as Maven will automatically retrieve those from the central repository of artefacts, and compile the project. The required list of JARs is taken from the POM dependency list.Better even, if those JARs in turn depend on other JARs, Maven will recursively descend the list of dependencies for those artefacts and bring them into the compilation environment.
See the
Maven website for more details.

0 comments: