Maven Projects

Maven is a build automation tool used primarily for Java projects. The word maven means 'accumulator of knowledge'. Maven addresses two aspects of building software: First, it describes how software is built, and second, it describes its dependencies.

An XML file describes the software project being built, its dependencies on other external modules and components, the build order, directories and required plug-ins. It comes with pre-defined targets for performing certain well-defined tasks such as the compilation of code and its packaging.

Maven dynamically downloads Java libraries and Maven plug-ins from one or more repositories such as the Maven 2 Central Repository, and stores them in a local cache. This local cache of downloaded artifacts can also be updated with artifacts created by local projects. Public repositories can also be updated.