Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Introduction to Apache Maven 2

Sing Li (westmakaha@yahoo.com), Author, Wrox Press
Photo of Sing Li
Sing Li is a consultant and an active author with more than two decades of industry experience. He has contributed to Professional Apache Geronimo, Beginning JavaServer Pages, Professional Apache Tomcat 5, Pro JSP - Third Edition, Early Adopter JXTA, Professional Jini, Beginning J2ME: From Novice to Professional, Third Edition, Professional Apache Geronimo, and numerous other books. Sing also writes for technical magazines and participates in open source communities. He is an evangelist of the open source, VOIP, and P2P movements. You can reach Sing at westmakaha@yahoo.com.

Summary:  Modern software projects are no longer solely monolithic creations of single local project teams. With the increased availability of robust, enterprise-grade open source components, today's software projects require dynamic collaboration among project teams and often depend on a mix of globally created and maintained components. Now in its second generation, the Apache Maven build system -- unlike legacy build tools created before the Internet-enabled era of global software development -- was designed from the ground up to take on these modern challenges. This tutorial gets you started with Maven 2.

Date:  19 Dec 2006
Level:  Intermediate

Activity:  102343 views
Comments:  

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.

About this tutorial

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.


Prerequisites

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.


System requirements

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.

1 of 15 | Next

Comments



Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Java technology, Open source
ArticleID=184162
TutorialTitle=Introduction to Apache Maven 2
publish-date=12192006
author1-email=westmakaha@yahoo.com
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).