Overview of Apache Maven
Apache Maven course is designed to sharpen the mastery of the Maven build automation tool which is used for Java development projects.
This course will train the participants on how to set up the Maven environment, pull in dependencies by specifying their coordinates, installation and deploy a plugin,
generate reports on code that will let developers know when they are running into problems, and how to scale up from simple projects to multi-module projects.
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 repository.
Duration
3 Days
Prerequisite for Apache Maven
Basic Computer Skills and some programming experience would be beneficial.
Course Outline for Apache Maven
Content
- Introduction to Build Tools – make, Ant
- Apache Maven Introduction
- Goals of Maven
- Why Use Apache Maven?
- Setting up environment variables for Maven
- Run from Command Line
- Create Java Project from command Line
- Convert Maven Project to an Eclipse Project
- Add external dependency to Maven
- Setting up a Proxy
- Maven Dependency Management and its Resolution
- Using Repositories
- Dependency Identification
- Transitive Dependencies
- Dependency Scope
- Manual Dependency Installation
- Maven Project Basics with recommended Hierarchy
-
- Basic Project Organization
- Understanding pom.xml
- Properties in pom.xml
- Excluding Dependencies
- Maven Life Cycle
-
- Goals and Plug-ins
- Life Cycle and Phases
- Plugin Development
- Maven Archetypes
-
- Built in Archetypes
- Generating Web Project
- Multi module Project
- Creating an Archetype
- Using the Archetype
- Packaging and deployment
-
- Generating an executable JAR
- Generating a JAR of the source code
- Generating a JAR of the test classes
- Building a WAR project
- Building a pom project
- Plugins
-
- Maven Sonar plugin
- Maven Enforcer plugin
- Other Plugins
- Documentation and Reporting
-
- Using the Site Life Cycle
- Advanced Site Configuration