A little introduction:
When you start a project, normally you create the project using your favorite IDE (Integrated Development Environment), then comes the boring task of configuring dependencies, plugins and other needed configurations. Basic you start to find the best library to the project, go to the website, download the Jar, add to the classpath, and then you start all over again and after a while you don’t remember what Jar you are using, what version or if you need to update any of them. Well, in my opinion Maven comes not only as a project building tool, as you can read in most places, but as an Internet Java based project management, integration and comprehension build tool which help you manage the building, documentation, reporting, SCMs (Software Configuration Management), dependencies, releases and distribution in the entire project.
Maintain by Apache Software Foundation, it was originally started as an attempt to simplify the build processes in the Jakarta Turbine project. The project had several projects each one containing slightly differences files (ANT build files), with their JARs been sent into a CVS (Concurrent Version Systems). This still is the common problem when deal with multiple frameworks in a project, for example, to use spring and hibernate framework, we need to include all the required Jars in the project to make them available in all phases (compile, testing, deploying). Another problem, which Maven helps solve, is dependencies and versions. This happens when we have a particular Jar, which depends on other or when dealing with multiple dependencies. We need to know if all dependencies are closed and if version matches the requirements of each Jar. And finally, project structure, is the most repeated task when creating a web application. We need to have the proper structure directories, data, libraries and other configurations. That is why maven uses convention over configuration, which means, developers are not required to create all the build process and every configuration themselves.