• Online, Self-Paced
Course Description

Apache Maven is an open-source standards-based project management tool. Using a project object model (POM), it provides functionality for project build management, reporting and documentation. This course covers how to set up Maven and build and test projects. You'll learn how to navigate the project structure and the pom.xml, and you'll learn about repositories and dependency management. You'll learn about Maven project lifecycle phases, goals and associated plugins, and how to use archetypes to create projects. You'll also learn how to manage multi-module projects and use build profiles.

Learning Objectives

Getting Started with Maven

  • start the course
  • describe Maven and the functionality it provides
  • verify system requirements, install Maven, and set required Maven environment variables and paths
  • create a Maven project and navigate its structure
  • identify the features of a pom.xml
  • access and specify properties in Maven configuration files
  • build and test a basic Maven project

Repositories and Dependency Management

  • outline how dependency management is implemented by Maven using repositories
  • identify how to manage transitive dependencies and identify available dependency scope settings
  • configure repositories in a Maven settings.xml file and describe how dependencies are identified and managed in pom.xml
  • use the install plugin to manually install a dependency for a Maven project and configure an external dependency
  • use snapshot settings and specify a repository for snapshots
  • define plugin repositories and describe settings in pom.xml

Lifecycle Phases, Goals, and Plugins

  • describe the Maven Lifecycles and phases, the relation to goals, and associated plugins
  • configure and use Maven plugins
  • develop a basic Maven plugin

Working with Archetypes

  • identify available Maven archetypes and select one for use
  • use the maven-archetype-webapp to generate a web application
  • add a servlet to a Maven web project
  • contrast multi-module projects with inheritance and create a Maven parent project with multiple modules
  • create and use a Maven archetype

Build Profiles

  • describe Maven build profiles
  • identify how to activate and de-activate Maven build profiles

Practice: Creating a Maven Project

  • create projects in Maven

Framework Connections

Specialty Areas

  • Software Development