Working with Apache Maven | Learn to automate the build of Java projects using Apache Maven

Working with Apache Maven Course Description

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting, and documentation from a central piece of information.

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. 

This course teaches you to come to an expert level of Maven as it covers the setup of Maven, Build a project, Work with Maven's directory structure, plugins, repositories, and more, Project Object Model (POM).

According to your profile Maven will help you in your day to day work. As we mention some of the benefits:

Developers: As a developer, you will be using Maven to create projects, manage the dependencies, compile your code, run your tests, deploy your components. Maven will become part of your everyday development tools.

Technical lead profiles: Integrating Maven as a build tool will have a significant impact on the project: 
  • Managing dependencies will become easy (Maven dependency management)
  • Complex builds will be significantly simplified (Maven build profiles)
  • The project architecture will be managed smoothly (inheritance and multi-module projects).

Project Managers: Maven will enforce standardization and collaboration:
  • “Project Object Model” is the standard Maven introduces for projects
  • Maven uses build lifecycles for developers to compile, test and report, deploy
  • Maven repositories will act as a common store and gather releases and third-party libraries.
  • Release Managers: Maven repository managers will act as highly configurable proxies between your organization and public Maven repositories they also provide an organization with a deployment destination for your builds.

Apache Maven Course Learning Outcomes

  • 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

Apache Maven Training - Suggested Audience

This Apache Maven training is intended for developers with a focus build their career or working on projects that use Maven as an automated build tool. Suggested attendees based on our past programs are:
  • Software Developers
  • Java Developers
  • Project Managers
  • Portfolio Managers
  • System Administrator
  • System Engineers
  • System Integrators
  • IT Professionals

Apache Maven Training Duration

  • Open-House F2F (Public): 2/3 days
  • In-House F2F (Private): 2/3/4 days, for commercials please send us an email with group size to hello@pincorps.com

Apache Maven Training - Prerequisites

Core Java and Java web programming experience, the hands on practice will be carried out with the Eclipse IDE platform.

Working with Apache Maven training course outline includes:

Module 1 - An Introduction to Maven
  • Key Features of Maven
  • History of Maven
  • Alternatives to Maven
  • Comparing Maven and Ant

Module 2 - Installing Maven
  • Maven Directory
  • Maven Settings (Local and Global)
  • Local Maven Repository
  • Running Maven
  • Maven Options

Module 3 - Core Concepts
  • Maven Directory Structure
  • Standard Maven Lifecycle
  • Key Lifecycle Phases
  • Customizing the Lifecycle
  • Lifecycle Overview
  • Default Lifecycle
  • Site Lifecycle
  • Package-specific Lifecycles

Module 4 - Maven Plugins and Goals
  • Maven Coordinates
  • Dependency Management
  • Maven Repositories
  • Maven Archetypes

Module 5 - Project and Dependencies
  • The Project Object Model (POM)
  • The Simplest POM
  • POM Components
  • Project Coordinates
  • GAV (Group, Artifact, Version)
  • Project Versions
  • Snapshot Versions

Module 6 - Dependencies
  • Dependency Scope
  • Optional Dependencies
  • Version Ranges
  • Transitive Dependencies
  • Visualizing Dependencies
  • Dependency Conflicts
  • Excluding Transitive Dependencies

Module 7 - POM Inheritance and Aggregation
  • POM Inheritance
  • The Super POM
  • Inherited Behavior
  • The Effective POM
  • Multi- Projects
  • Directory Structure
  • Container Projects
  • POM Aggregation

Module 8 - 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

Module 9 - Consistent Builds
  • Standardized Environment
  • Explicit Use of Plugin Versions
  • The Enforcer Plugin

Module 10 - 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

Module 11 - Site Reporting with Maven
  • Technical Documentation
  • Browsable Source Code
  • Displaying Test Results
  • Code Quality Metrics

Module 12 - Web Development
  • Using the Maven Jetty Plugin
  • Developing Web Applications with Maven
Keny White

Professor

Keny White is Professor of the Department of Computer Science at Boston University, where he has been since 2004. He also currently serves as Chief Scientist of Guavus, Inc. During 2003-2004 he was a Visiting Associate Professor at the Laboratoire d'Infomatique de Paris VI (LIP6). He received a B.S. from Cornell University in 1992, and an M.S. from the State University of New York at Buffalo.

Bachelor

After working as a software developer and contractor for over 8 years for a whole bunch of companies including ABX, Proit, SACC and AT&T in the US, He decided to work full-time as a private software trainer. He received his Ph.D. in Computer Science from the University of Rochester in 2001. "What I teach varies from beginner to advanced and from what I have seen, anybody can learn and grow from my courses".

Reviews

Average Rating

5
1 rating

Detailed Rating

5 stars
1
4 stars
0
3 stars
0
2 stars
0
1 star
0

    This is great

    I really love the course editor in LearnPress. It is never easier when creating courses, lessons, quizzes with this one. It's the most useful LMS WordPress plugin I have ever used. Thank a lot! Testing quiz is funny, I like the sorting choice question type most.