Maven2 is an Open Source build tool that made the
revolution in the area of building projects. Like the build systems as "make"
and "ant" it is not a language to combine the build components
but it is a build lifecycle framework. A development team does not require much
time to automate the project's build infrastructure since maven uses a standard
directory layout and a default build lifecycle. Different development teams,
under a common roof can set-up the way to work as standards in a very short
time. This results in the automated build infrastructure in more stable state.
On the other hand, since most of the setups are simple and reusable immediately
in all the projects using maven therefore many important reports, checks, build
and test animation are added to all the projects. Which was not possible without
maven because of the heavy cost of every project setup.
Maven 2.0 was first released on 19 October 2005 and it is not backward compatible with the plugins and the projects of maven1. In December 2005, a lot of plugins were added to maven but not all plugins that exists for maven1 are ported yet. Maven 2 is expected to stabilize quickly with most of the Open Source technologies. People are introduced to use maven as the core build system for Java development in one project and a multi-project environment. After a little knowledge about the maven, developers are able to setup a new project with maven and also become aware of the default maven project structure. Developers are easily enabled to configure maven and its plugins for a project. Developers enable common settings for maven and its plugins over multiple projects, how to generate, distribute and deploy products and reports with maven so that they can use repositories to set up a company repository. Developers can also know about the most important plugins about how to install, configure and use them, just to look for other plugins to evaluate them so that they can be integrated in their work environment.
Maven is the standard way to build projects and it also provides various other characters like clearing the definition of the project, ways to share jars across projects. It also provides the easy way to publish project information (OOS).
Originally maven was designed to simplify the building processes in the Jakarta Turbine project. Several projects were there containing their own slightly different Ant build files and JARs were checked into CVS. An apache group's tool that can build the projects, publish project information, defines what the project consists of and that can share JARs across several projects. The result of all these requirement was the maven tool that builds and manages the java-based-project.