Choose your language:

France
Germany
Hong Kong
India
Ireland
Japan
Malaysia
Netherlands
New Zealand
Singapore
Sweden
United Kingdom
United States

Introduction to Apache Maven

Course Code

IN1495

Duration

2 Days

All participants must have core Java and Java web programming experience.
This course starts by helping participants understand the tremendous benefits and return on investment from Apache 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).
This course is designed for developers and programmers wanting to learn more about Maven.
Upon completion of this course, participants will be able to:
  • Download and install Maven
  • Build a project
  • Work with Maven's directory structure, plugins, repositories, and more
  • Understand the Project Object Model (POM)
  • Build a complete web application using Maven
  • Build and activate profiles
  • Use Maven from Eclipse via the m2eclipse plugin
Introduction to Apache Maven
Build Tools for Java
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

Installing and Running Apache Maven
Downloading Maven
Installing Maven
Run From Command Line
Running Inside an IDE
Settings.xml
Local Repository
Summary

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

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

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

Multi-Module Builds
Introduction
The Reactor
Reactor Sorting
Multi-Module Build by Example
Summary

POM Projects
Project Object Model (POM)
The overall POM structure
Storing POM
Summary

Writing Plugins (Maven)
What is Maven Plugin
Example of Using a Plugin
Create a Custom Plugin
Create a Custom Plugin (cont.)
Plugin Management
Summary

Creating Archetypes
Introduction to Maven Archetypes
Introduction to Maven Archetypes (cont.)
Using Interactive Mode to generate Goal
Common Maven Archetypes
Summary

Repository Management
Introduction
Proxy Remote Repositories
Release Artifacts
Snapshot Artifacts
Reasons to Use a Repository Manager
Repository Coordinates
Addressing Resources in a Repository
Summary

Release Management
What is release Management?
Release Management with Nexus
Release Management with Maven
Summary
Send Us a Message
Choose one