Chariot Education Services
Regular Location: Chariot - Philadelphia
Course: Sonatype Training - Maven for Developers (Maven Mechanics)
A one-day introduction to Maven for beginning users – dependency management, plugins, conventions, multi-project builds.
Upcoming Classes
For more dates or different classes, check our complete online schedule.
| Start Date | Pricing | Location | |
|---|---|---|---|
| Tue Jul 17 2012 | $600.00 | Chariot - Philadelphia | |
| Tue Sep 18 2012 | $600.00 | Chariot - Philadelphia |
Course Description
This one-day course is ideal for programmers who work with Maven projects and need to understand how to work with an existing Maven build. It covers the fundamentals, including the Maven Lifecycle, dependencies, plugins, multi-project builds, and more.
Topics include the Maven Command Line, how to request and troubleshoot dependencies and plugins, setting the JDK version and de-mystifying the build lifecycle. Developers will use Eclipse and the Sonatype m2eclipse plugin to run lab exercises.
Prerequisites
- Prior experience configuring builds or developing in Java.
- Comfort with using a command-line build tool.
- Ant experience helpful, not required.
Course Outline
An Introduction to Maven
- Key Features of Maven
- History of Maven
- Alternatives to Maven
- Comparing Maven and Ant
Installing Maven
- Downloading Maven
- Installing Maven
- Maven Directory
- Maven Settings (Local and Global)
- Local Maven Repository
- Running Maven
- Maven Options
- Upgrading Maven
Core Concepts
- Maven Directory Structure
- Standard Maven Lifecycle
- Maven Plugins and Goals
- Maven Coordinates
- Dependency Management
- Maven Repositories
- Maven Archetypes
Project and Dependencies
- Standard Directory Structure
- The Project Object Model (POM)
- The Simplest POM
- POM Components
- Project Coordinates
- GAV (Group, Artifact, Version)
- Packaging *
- Clean, Default and Site Lifecycles
- Project Versions
- Snapshot Versions
- POM Inheritance and Aggregation
- POM Inheritance
- The Super POM
- Inherited Behavior
- The Effective POM
- Multi-module Projects
- Directory Structure
- Container Projects
- POM Aggregation
- Example Multi-module
Custom Builds
- Customizing the Lifecycle
- Lifecycle Overview
- Default Lifecycle
- Site Lifecycle
- Package-specific Lifecycles
- Key Lifecycle Phases
- Maven in Eclipse
- Development Infrastructure Details
Dependency Management
- Dependencies
- Dependency Scope
- Optional Dependencies
- Version Ranges
- Transitive Dependencies
- Visualizing Dependencies
- Dependency Conflicts
- Excluding Transitive Dependencies
Multi-Project Builds
- Inheritence and Aggregation
- Inheritence
- Multi-Project Module Builds
- The Maven Reactor
A Survey of Plugins
- Reporting Plugins
- Code Generation Plugins
- Scripting Plugins
- Testing Plugins
- Other Plugins

