Founded by the original author of Maven, Sonatype is best placed to provide definitive Maven training through its Maven tutorials. These online training courses provide a complete Java development tutorial that will enable any developer to work confidently with the versatile Maven development toolkit for Java project build and release management.

Course description:

The Sonatype Maven training course MVN-201 Designing Development Infrastructure covers topics for the advanced Maven user such as:

  • Advanced multimodule project architecture
  • Enforcing standards with the Enforcer plugin
  • Installing and configuring a repository manager
  • Installing and configuring a continuous integration server

Audience:

This class is designed for Development Infrastructure engineers who are responsible for maintaining development infrastructure using Maven and Nexus tools.

Goal:

Familiarity with Structure of a Maven POM and a Maven Multi-module Project

Prerequisites:

A familiarity with the content covered in MVN-101 Maven Mechanics

Outline:

  • Module 1: Consistent Builds
    • Standardized Environment
    • Explicit Use of Plugin Versions
    • The Enforcer Plugin
  • Module 2: 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 3: Site Reporting with Maven
    • Technical Documentation
    • Browsable Source Code
    • Displaying Test Results
    • Code Quality Metrics
  • Lab 1: Adding Reports to Your Site
  • Module 4: Web Development
    • Using the Maven Jetty Plugin
    • Developing Web Applications with Maven
  • Lab 2: Running Your Webapp in Jetty
  • Module 5: Repository Management
    • What is an Enterprise Repository?
    • Installing Nexus
    • Using Nexus
    • Nexus Repositories and Security
    • Deploying to Nexus with Maven
    • Managing Maven Settings with Nexus
    • Enterprise Security (LDAP)
    • Configuring Procurement in Nexus
    • Performing a Staged Release
  • Module 6: Release Management
    • Release Management
    • The Maven Release Plugin
    • Developer Release Workflow
    • Integration with Source Control
    • Example Using Subversion
    • Example Using Git
  • Lab 3: Using Nexus
  • Module 7: Continuous Integration with Hudson
    • What is Continuous Integration?
    • Benefits of Continuous Integration
    • Downloading Hudson
    • Installing Hudson
    • Running Hudson
    • Configuring Hudson for Maven
    • Setting Up a Maven Job in Hudson
    • Monitoring Hudson Builds
    • Demonstration of Hudson
  • Lab 4: Using Hudson