Maven Build Tool
Maven Build Tool
Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
Maven's primary goal is to allow a developer to comprehend the complete state of a development effort in the shortest period of time. In order to attain this goal there are several areas of concern that Maven attempts to deal with:
• Making the build process easy
• Providing a uniform build system
• Providing quality project information
• Providing guidelines for best practices development
• Allowing transparent migration to new features
The project object model
The heart of a Maven 2 project is the project object model (or POM for short). It contains a detailed description of your project, including information about versioning and configuration management, dependencies, application and testing resources, team members and structure, and much more.
The POM takes the form of an XML file (pom.xml), which is placed in your project home directory.
• The project-related properties
• The build process-related properties
• The environment-related properties
A simple pom.xml file is shown here:
<name>Maven Quick Start Archetype</name>
Maven introduces the concept of repositories. A repository can be seen as an artifact version control system. Ultimately, all projects products are going to end up in a repository.
In fact, Maven uses repositories to store about anything : plugins, dependencies, extensions, ... Whenever it needs a artifact, Maven will look into its different repositories to find it.
There are two different types of repositories: local and remote.
There is always one local repository for a given Maven installation accessible from the file system.
Remote repositories allow you to makes your project artifacts available to other developers. A remote repository can be accessed through a network protocol.