Before you start
Modern software development based on robust, enterprise-grade open source technologies requires a new breed of build and project collaboration tool. The engine at the core of Apache Maven 2 works to simplify building and managing large and often complex collaborative software projects. Yet Maven 2's design aims to be friendly even to developers unfamiliar with the challenges of working in large project team environments. Focusing initially on the beginner single developer, this tutorial gradually introduces some of the collaborative concepts and features that are available with Maven 2. You are encouraged to build on the introduction this tutorial provides by exploring the advanced features of Maven 2 that are beyond its scope.
This tutorial guides you step-by-step through the fundamental concepts and hands-on exercises with Maven 2:
- Overview of Maven 2
- Understanding the Maven 2 dependency management model
- Maven 2 repository and Maven 2 coordinates
- Maven 2 life cycles, phases, plug-ins, and mojos
- Downloading and installing Maven 2
- Hands-on Maven 2 -- your first Maven 2 project
- Customizing the project object model (POM)
- Working with multiple projects
- Hands-on Maven 2 -- working with multiple project builds
- Installing the Maven 2.x Plug-in for Eclipse 3.2
- Working with the Maven 2.x Plug-in for Eclipse 3.2
As you complete this tutorial, you will gain an appreciation and understanding of the philosophy behind the design of Maven 2. Furthermore, you will be familiar with the fundamental skills required to work on projects built using Maven 2. This is a passport to most of the large projects in the Apache and Codehaus communities. Most important, you'll be ready to apply Maven 2 to your daily project build and management activities.
You should be familiar with Java™ development in general. This tutorial assumes that you understand the value and basic operations of a build tool, including dependency management and output packaging. You need to be able to work with Eclipse 3.2 as an IDE to work through the Maven 2.x Plug-in for Eclipse section. An exposure to large open source projects, such as those under the Apache Software Foundation's management, is highly valuable. An understanding of Java 5 coding, including generics, is helpful. Experience working with various project building technologies such as Ant, autoconf, make, and nmake is beneficial but not mandatory.
To follow along and try out the code for this tutorial, you need a working installation of Sun's JDK 1.5.0_09 (or later) or the IBM JDK 1.5.0 SR3.
For the sections on the Maven 2.x Plug-in for Eclipse, you need a working installation of Eclipse 3.2.1 or later.
The recommended system configuration for the tutorial is:
- A system supporting the JDK/JRE mentioned above with at least 1GB of main memory
- At least 20MB of disk space to install the software components and examples
The instructions in the tutorial are based on a Microsoft Windows operating system. All of the tools covered in the tutorial also work on Linux® and UNIX® systems.


