Working with Apache Maven

Automating Builds with Apache Maven Training

The Working with Apache Maven training course teaches developers the skills and knowledge needed to use Maven as an automated build tool.

The Automating Builds with Apache Maven training course begins with an overview of automated build concepts and motivations. It then moves into a discussion about Maven as a build tool, in terms of its architecture, implementation, and operation. With the foundation laid, the course then examines how to setup a Maven2 pom.xml file, project configuration, and task execution.

The Working with Apache Maven course concludes with a discussion of common Maven tasks, like continuous integration tasks, packaging tasks, etc.

Working with Apache Maven can include a discussion on integration with Continuous Integration servers like Jenkins, Hudson, and Bamboo.

Course Summary

Learn how to use Apache Maven as your automated build tool.
Developers working on projects that use Maven as an automated build tool.
Skill Level: 
Learning Style: 

Hands-on training is customized, instructor-led training with an in-depth presentation of a technology and its concepts, featuring such topics as Java, OOAD, and Open Source.

Hands On
3 Days
Productivity Objectives: 
  • Install and configure Maven
  • Describe the Maven architecture
  • Understand the Maven lifecycle
  • Manage dependencies with Maven
  • Use Maven to build JAR, WAR, EJB-JAR, and EAR deployment artifacts
Working with Apache Maven is part of the Apache Training curriculum.

What You'll Learn

In the Working with Apache Maven training course you’ll learn:

  • An Introduction to Maven
    • Key Features of Maven
    • History of Maven
    • Alternatives to Maven
    • Comparing Maven and Ant
  • Installing Maven
    • Maven Directory
    • Maven Settings (Local and Global)
    • Local Maven Repository
    • Running Maven
    • Maven Options
  • Core Concepts
    • Maven Directory Structure
    • Standard Maven Lifecycle
    • Key Lifecycle Phases
    • Customizing the Lifecycle
    • Lifecycle Overview
    • Default Lifecycle
    • Site Lifecycle
    • Package-specific Lifecycles
  • Maven Plugins and Goals
    • Maven Coordinates
    • Dependency Management
    • Maven Repositories
    • Maven Archetypes
  • Project and Dependencies
    • The Project Object Model (POM)
    • The Simplest POM
    • POM Components
    • Project Coordinates
    • GAV (Group, Artifact, Version)
    • Project Versions
    • Snapshot Versions
  • Dependencies
    • Dependency Scope
    • Optional Dependencies
    • Version Ranges
    • Transitive Dependencies
    • Visualizing Dependencies
    • Dependency Conflicts
    • Excluding Transitive Dependencies
  • POM Inheritance and Aggregation
    • POM Inheritance
    • The Super POM
    • Inherited Behavior
    • The Effective POM
    • Multi- Projects
    • Directory Structure
    • Container Projects
    • POM Aggregation
  • Custom Builds
    • Properties and Profiles
    • Variables
    • POM Variables
    • settings.xml properties
    • Java System properties
    • Environment variables
    • User-defined properties
    • Filtering Resources
    • Build Profiles
    • Project Configuration with Profiles
    • Profile Activation
    • Maven Repositories
    • Repository Structure
    • Central Repository
    • Other Remote Repositories
    • Local Repository
    • Site Generation and Reporting
    • Demonstration
  • Consistent Builds
    • Standardized Environment
    • Explicit Use of Plugin Versions
    • The Enforcer Plugin
  • Site Generation with Maven
    • Maven Site as Collaboration Tool
    • The Site Lifecycle
    • Default Site Layout
    • Creating a Site Project
    • Organizing Your Site
    • Adding Site Content
  • Site Reporting with Maven
    • Technical Documentation
    • Browsable Source Code
    • Displaying Test Results
    • Code Quality Metrics
  • Web Development
    • Using the Maven Jetty Plugin
    • Developing Web Applications with Maven
  • Q/A

Meet Your Instructor


Daniel has been a self-employed developer, teacher and speaker for private businesses, education and government entities since 1999. Daniel also actively teaches programming for the University of New Mexico Continuing Education.

Daniel is a Pomodoro Technique practitioner, and co-founder of the Albuquerque Java User’s Group in Albuquerque, New Mexico. When he’s not supporting other local Java developers, Daniel spends most of his waking hours developing in and around the Java ecosystem, encompassing...

Meet Daniel »
Kelby Zorgdrager

Kelby Zorgdrager’s expertise in Java, Open Source, and software development have allowed him to be a guest speaker at JavaOne, Java University, Comdex, IEEE Software Conference, and the Colorado Software Summit.

Kelby has also served as a guest author for both IBM and Sun/Oracle’s developer sites. Furthering his passion to help people learn, Kelby served as a technical editor for the bestselling book, Advanced Java: How to Program,...

Meet Kelby Zorgdrager »

Anil is a seasoned software engineer with over 16 years of Java development experience.

Anil started his career as a Unix programmer, slinging C-code, writing shell scripts, and teaching others how to use Unix back when Unix was still a toddler. Anil’s expertise in Unix, C, and C++ allowed him to become a member of Technical Staff at ATT / Bell labs. During his tenure at Bell Labs, Anil led the creation of software tools that simulated network traffic, in particular, cellular...

Meet Anil »

Rich is a full-stack generalist with a deep and wide background in architecture, development and maintenance of web-scale, mission-critical custom applications, and building / leading extraordinary technology teams.

He has spent about equal thirds of his two decade career in the Fortune 500, government, and start-up arenas, where he’s served as everything from the trench-level core developer to VP of Engineering. He currently spends the majority of his time sharing his knowledge about Amazon Web...

Meet Rich »

Michael is a practicing software developer, course developer, and trainer with DevelopIntelligence. For the majority of his career, Michael has designed and implemented large-scale, enterprise-grade, Java-based applications at major telecommunications and Internet companies, such as Level3 Communications, US West/Qwest/Century Link, Orbitz, and others.

Michael has a passion for learning new technologies, patterns, and paradigms (or, he has a tendency to get bored or disappointed with current ones)....

Meet Michael »


Suggested Reference Texts: 

Contact us to learn more

Not all training courses are created equal. Let the customization process begin! We'll work with you to design a custom Working with Apache Maven training course that meets your specific needs.

DevelopIntelligence has been in the technical/software development learning and training industry for nearly 20 years. We’ve provided learning solutions to more than 40,000 engineers, across 200 organizations worldwide.

About Develop Intelligence

Take Our L&D Survey

Need help finding the right learning solution?   Call us: 877-629-5631