Introduction to Apache Maven Training

Answers to Popular Questions:

 
Yes, this class can be tailored to meet your specific training needs.
Yes, we provide consulting services.
Yes, group discounts are provided.

Course Description

 
This Introduction to Apache Maven course is targeted to people who will use Maven to build projects and manage product lifecycles using Maven. After completing this course participants will understand how to download, install, set-up and confidently use core Maven features. The most popular version of the course is taught with Eclipse but it can be delivered with any Integrated Development Environment (IDE). The class is also for people that may be working on projects that have already been created (i.e. existing project checked out from an SCM system), or creating new projects based on a Maven archetypes, or produce POM files from scratch.
Course Length: 2 Days
Course Tuition: $1090 (US)

Prerequisites

All attendees must have core Java and Java web programming experience.

Course Outline

 
Chapter 1. Introduction to Apache Maven
Build Tools for Java
Build Tools for Java (cont'd)
History of Build Tools
Traditional Scripting
'make'
Problems with Make
Manual Build with JavaC
ANT
Pros and Cons of Ant
Apache Maven
Goals of Maven
What is Apache Maven?
What is Apache Maven (cont'd)
Why Use Apache Maven?
The Maven EcoSystem
Consistent Easy-to-Understand Project Layout
Convention Over Configuration
Maven is Different
Maven Projects have a Standardized Build
Effect of Convention Over Configuration
Importance of Plugins
A Key Point on Maven!
Summary – Key Features of Maven
 
Chapter 2. Installing and Running Apache Maven
 
Downloading Maven
Installing Maven
Run From Command Line
Running Inside an IDE
Settings.xml
Local Repository
Summary
 
Chapter 3. Getting Started With Maven
 
Terminology and Basic Concepts
Artifacts
Lifecycle
Default Lifecycle
Plugins
Running Maven - the Story So Far
Running Maven from an IDE
Common Goals
pom.xml
Example
Example (cont'd)
Artifact Coordinates
Standard Layout for Sources
Summary
 
Chapter 4. A Web Application in Maven
 
A More Complex Project
Putting it Together With Maven
Packaging the Target Artifact
The Source Tree
Dependencies
Transitive Dependencies
Dependency Scope
Working With Servers
Declaring and Configuring Plugins
Running the Plugin
Binding a Plugin Goal to the Lifecycle
Archetypes
Summary
 
Chapter 5. Commonly Used Plugins
 
Maven Plugins
Declaring and Configuring Plugins
Running the Plugin
Binding a Plugin Goal to the Lifecycle
Maven Surefire Test Plugin
Failsafe Plugin
Site Plugin
JavaDoc Plugin
PMD Plugin
Code Coverage – Cobertura
Summary
 
Chapter 6. Multi-Module Builds
 
Introduction
The Reactor
Reactor Sorting
Multi-Module Build by Example
Summary
 
Chapter 7. POM Projects
 
Project Object Model (POM)
The overall POM structure
Storing POM
Summary
 
Chapter 8. Writing Plugins (Maven)
 
What is Maven Plugin
Example of Using a Plugin
Create a Custom Plugin
Create a Custom Plugin (cont.)
Plugin Management
Summary
 
Chapter 9. Creating Archetypes
 
Introduction to Maven Archetypes
Introduction to Maven Archetypes (cont.)
Using Interactive Mode to generate Goal
Common Maven Archetypes
Summary
 
Chapter 10. Repository Management
 
Maven's Approach to Artifacts
Publishing Artifacts
Summary of Maven's Artifact Handling
Repository
Repository Manager
Proxy Remote Repositories
Types of Artifacts
Release Artifacts
Snapshot Artifacts
Reasons to Use a Repository Manager
Repository Coordinates
Addressing Resources in a Repository
Summary
 
Chapter 11. Release Management
 
What is release Management?
Release Management with Nexus
Release Management with Maven
Summary
 
Lab Exercises
Lab 1. Install Maven
Lab 2. Create a Maven Project
Lab 3. Create a Web Application from an Archetype
Lab 4. Add Web Site, Static Analysis, and Code Coverage 
Lab 5. A Multi-Module Project
Lab 6. Create a Standard Set of Dependencies
Lab 7. Write a Simple Maven Plugin
Lab 8. Create an Archetype
Lab 9. Create a Corporate Repository
Lab 10. Deploy to the Corporate Repository

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.