Trail : Maven 2 fundamentals
This trail explain the fundamentals of using Maven 2 to manage your projects.
- Maven, yet not another build tool : Tradional builds tools are usually advanced script languages. Therefore, when you write one of those scripts you are specifying to the build tool the how and the what. Maven feels like a breeze of fresh air because it is based upon a declarative approach; you just need to specify the what. Maven takes care of the how for you. It is an Object-Oriented Building tool.
- The Project Object Model (POM) : The POM is the heart and soul of any Maven enabled-project. It contains every bit of information Maven need to know about your project.
- Naming Conventions : Maven needs to be able to identify every project artefacts precisely. Each deployed artefact has to respect Maven naming conventions.
- The Standard Directory Layout : Maven is all about applying standard building patterns. One of the most common things project should share is a standard directory layout. Maven recommends (but doesn't enforce) a standard project directory layout.
- The Build Lifecycle : Maven is based around the central concept of a build lifecycle. What this means is that the process for building and distributing a particular artifact is clearly defined.
- Repositories : A repository in Maven is used to hold build artifacts and dependencies of varying types. Repositories allow Maven to manage your project dependencies and automatically share components between different projects.
- Dependency Management : Dependency management is one of the features of Maven that is best known to users and is one of the areas where Maven excels. There is not much difficulty in managing dependencies for a single a project, but when you start getting into dealing with multi-module projects and applications that consist of tens or hundreds of modules this is where Maven can help you a great deal in maintaining a high degree of control and stability.