Introduction to Apache Maven Training in Raleigh
Enroll in or hire us to teach our Introduction to Apache Maven class in Raleigh, North Carolina by calling us @303.377.6176. Like all HSG
classes, Introduction to Apache Maven may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it
is scheduled: Public Training Classes
Provided there are enough attendees, Introduction to Apache Maven may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.
|
||
Course Description |
||
This Introduction to Apache Maven course is targeted to people who will
use Maven to build projects and manage product lifecycles using Maven.
After completing this course participants will understand how to
download, install, set-up and confidently use core Maven features. The
most popular version of the course is taught with Eclipse but it can be
delivered with any Integrated Development Environment (IDE). The class
is also for people that may be working on projects that have already
been created (i.e. existing project checked out from an SCM system), or
creating new projects based on a Maven archetypes, or produce POM files
from scratch.
Course Length: 2 Days
Course Tuition: $1090 (US) |
Prerequisites |
|
All attendees must have core Java and Java web programming experience. |
Course Outline |
Chapter 1. Introduction to Apache Maven
Build Tools for Java
Build Tools for Java (cont'd)
History of Build Tools
Traditional Scripting
'make'
Problems with Make
Manual Build with JavaC
ANT
Pros and Cons of Ant
Apache Maven
Goals of Maven
What is Apache Maven?
What is Apache Maven (cont'd)
Why Use Apache Maven?
The Maven EcoSystem
Consistent Easy-to-Understand Project Layout
Convention Over Configuration
Maven is Different
Maven Projects have a Standardized Build
Effect of Convention Over Configuration
Importance of Plugins
A Key Point on Maven!
Summary – Key Features of Maven
Chapter 2. Installing and Running Apache Maven
Downloading Maven
Installing Maven
Run From Command Line
Running Inside an IDE
Settings.xml
Local Repository
Summary
Chapter 3. Getting Started With Maven
Terminology and Basic Concepts
Artifacts
Lifecycle
Default Lifecycle
Plugins
Running Maven - the Story So Far
Running Maven from an IDE
Common Goals
pom.xml
Example
Example (cont'd)
Artifact Coordinates
Standard Layout for Sources
Summary
Chapter 4. A Web Application in Maven
A More Complex Project
Putting it Together With Maven
Packaging the Target Artifact
The Source Tree
Dependencies
Transitive Dependencies
Dependency Scope
Working With Servers
Declaring and Configuring Plugins
Running the Plugin
Binding a Plugin Goal to the Lifecycle
Archetypes
Summary
Chapter 5. Commonly Used Plugins
Maven Plugins
Declaring and Configuring Plugins
Running the Plugin
Binding a Plugin Goal to the Lifecycle
Maven Surefire Test Plugin
Failsafe Plugin
Site Plugin
JavaDoc Plugin
PMD Plugin
Code Coverage – Cobertura
Summary
Chapter 6. Multi-Module Builds
Introduction
The Reactor
Reactor Sorting
Multi-Module Build by Example
Summary
Chapter 7. POM Projects
Project Object Model (POM)
The overall POM structure
Storing POM
Summary
Chapter 8. Writing Plugins (Maven)
What is Maven Plugin
Example of Using a Plugin
Create a Custom Plugin
Create a Custom Plugin (cont.)
Plugin Management
Summary
Chapter 9. Creating Archetypes
Introduction to Maven Archetypes
Introduction to Maven Archetypes (cont.)
Using Interactive Mode to generate Goal
Common Maven Archetypes
Summary
Chapter 10. Repository Management
Maven's Approach to Artifacts
Publishing Artifacts
Summary of Maven's Artifact Handling
Repository
Repository Manager
Proxy Remote Repositories
Types of Artifacts
Release Artifacts
Snapshot Artifacts
Reasons to Use a Repository Manager
Repository Coordinates
Addressing Resources in a Repository
Summary
Chapter 11. Release Management
What is release Management?
Release Management with Nexus
Release Management with Maven
Summary
Lab Exercises
Lab 1. Install Maven
Lab 2. Create a Maven Project
Lab 3. Create a Web Application from an Archetype
Lab 4. Add Web Site, Static Analysis, and Code Coverage
Lab 5. A Multi-Module Project
Lab 6. Create a Standard Set of Dependencies
Lab 7. Write a Simple Maven Plugin
Lab 8. Create an Archetype
Lab 9. Create a Corporate Repository
Lab 10. Deploy to the Corporate Repository
|
Course Directory [training on all levels]
Technical Training Courses
Software engineer/architect, System Admin ... Welcome!
- .NET Classes
- Agile/Scrum Classes
- Ajax Classes
- Android and iPhone Programming Classes
- Blaze Advisor Classes
- C Programming Classes
- C# Programming Classes
- C++ Programming Classes
- Cisco Classes
- Cloud Classes
- CompTIA Classes
- Crystal Reports Classes
- Design Patterns Classes
- DevOps Classes
- Foundations of Web Design & Web Authoring Classes
- Git, Jira, Wicket, Gradle, Tableau Classes
- IBM Classes
- Java Programming Classes
- JBoss Administration Classes
- JUnit, TDD, CPTC, Web Penetration Classes
- Linux Unix Classes
- Machine Learning Classes
- Microsoft Classes
- Microsoft Development Classes
- Microsoft SQL Server Classes
- Microsoft Team Foundation Server Classes
- Microsoft Windows Server Classes
- Oracle, MySQL, Cassandra, Hadoop Database Classes
- Perl Programming Classes
- Python Programming Classes
- Ruby Programming Classes
- Security Classes
- SharePoint Classes
- SOA Classes
- Tcl, Awk, Bash, Shell Classes
- UML Classes
- VMWare Classes
- Web Development Classes
- Web Services Classes
- Weblogic Administration Classes
- XML Classes
Business Training Courses
Project Managers, Business Analysts, Paralegals ... Welcome!
Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.
- Microsoft Azure AI Fundamentals (AI-900T00)
25 November, 2024 - 25 November, 2024 - Ruby on Rails
5 December, 2024 - 6 December, 2024 - Introduction to Spring 5 (2022)
16 December, 2024 - 18 December, 2024 - Fast Track to Java 17 and OO Development
9 December, 2024 - 13 December, 2024 - VMware vSphere 8.0 with ESXi and vCenter
9 December, 2024 - 13 December, 2024 - See our complete public course listing