Realdolmen Education


Maven 3

This course is currently not scheduled on the open calendar, but can be organized on request.

Request Course


2 day(s)


Java Developers needing to build projects using Maven


Having followed the JAV011 Java Programming Essentials Course at RealDolmen or having equivalent knowledge


Learn how to leverage Maven for better, more efficient and standardized Java project builds


Classroom instructor-led training with hands-on exercises


In Java enterprise projects having a good build mechanism is essential.Many of those projects need many different frameworks and libraries. Classic approaches do not provide an adequate solutionto share and manage their dependencies to those external libraries. Maven fills this need by providing a solution that has now beenadopted as the standard in the Java community.

Using Maven, Java Developers are quickly able to comprehend the state of development and ease their build process.Maven achieves this by means of a uniform build system, consistent reporting and easy dependency management.At the same time Maven motivates the use of widely accepted best practices.Building on top of years of experience with other build systems, Maven will streamline the daily work of Java Developersand will make Java-based projects easier to comprehend.

This course will help you get started with Maven, but also contains in-depth knowledge of the most commonly used Maven features in Java development.First the participants will be introduced to the general architecture of Maven projects and will be brought tounderstand the Maven build lifecycle and dependency management. The course also covers project testing, release management, and profiles as well as the the creation of archetypes to facilitate the creation of new projects.During hands-on exercises the participants will be able to gain practical experience into the use and setup of Maven in most common project scenarios.


  • Introduction
    • What is Maven?
    • Maven principles
    • The repository
    • Basic configuration using POM.xml
  • Getting started
    • Installing Maven
    • Setup
    • Testing the installation
    • Starting a new project
    • Building the project
  • Maven build lifecycle
    • Lifecycle phases
    • Common lifecycle goals
      • Process resources
      • Compile
      • Process test resources
      • Test compile
      • Test
      • Install
    • Core plugins
  • Dependency management
    • GAV: Group, Artifact, Version
    • Dependency scopes
    • Transitive dependencies
    • Conflict resolution
  • Project testing
    • Types of testing
      • Unit testing
      • Integration testing
      • Functional testing
    • Running tests
      • Surefire plugin configuration
      • Producing reports
      • Reviewing test coverage
  • Multi-module projects
    • Directory structure
    • Container projects
    • POM inheritance
    • POM aggregation
    • Multi-module vs Inheritance
  • Release management
    • What is release management?
    • Integration with source control
    • Configuring project tags
    • Preparing a release
    • Performing a release
  • Profiles
    • What are profiles?
    • Configuring projects with profiles
    • Profile activation
    • Build parameters
  • Archetypes
    • What are archetypes?
    • Benefits of using archetypes
    • Using archetypes
    • Common archetypes
    • Creating archetypes