Apache Maven: Beginner to Guru

Video Description

Master Apache Maven to Build and Deploy your Java and Spring Boot Applications

About This Video

  • Develop and deploy Java and Spring Boot applications using Apache Maven
  • Learn to configure Apache Maven plugins for real-world use cases

In Detail

Apache Maven is the most popular Java build tool. Companies and open source communities around the world consider Apache Maven the 'go-to' build tool for their Java projects.

Apache Maven is the most popular Java build tool. Companies and open source communities around the world consider Apache Maven the 'go-to' build tool for their Java projects.

In this course, you will gain comprehensive insights into Apache Maven for building and deploying your apps. You’ll explore Maven build lifecycles, before going on to understanding how to use Maven to build and package Java projects. The course will then demonstrate how to use Maven with popular alternative JVM languages including Groovy, Kotlin, and Scala. Next, you will configure Maven to run your unit and integration tests written in JUnit 3, JUnit 4, JUnit 5, TestNG, and Spock. You will then delve into generating source code from XML and JSON schemas. In addition to this, the course will get you started with leveraging annotation processing at compile time for Project Lombok and Mapstruct.

The course will help you further build on your knowledge with insights into the Apache Maven plugin system, along with guiding you through how plugins are used in the build lifecycle. From building Spring Boot apps, and improving code quality with code coverage and spot bug reports, through to unlocking the capabilities of the Spring Boot Maven plugins, this course helps you learn efficiently at your own pace. Finally, you’ll be able to deploy project artifacts to Maven repositories, and later develop multi-module Maven projects.

By the end of this course, you will have comprehensive knowledge of Apache Maven, along with the skills to use it for developing and deploying robust applications.

Publisher Resources

Download Example Code

Table of Contents

  1. Chapter 1 : Apache Maven Introduction
    1. Welcome to Apache Maven - Beginner to Guru course 00:00:55
    2. Meet your Instructor 00:02:30
    3. Getting the Most Out of this Course 00:08:46
    4. Why Use Apache Maven? 00:08:02
  2. Chapter 2 : Getting Started
    1. Introduction 00:00:44
    2. System Requirements 00:05:08
    3. Environment Verification 00:03:40
    4. Conclusion 00:00:52
  3. Chapter 3 : Compiling Java
    1. Introduction 00:01:50
    2. Review of Java Compile and Packaging 00:07:03
    3. Hello World Java Command Line 00:04:44
    4. Creating Java jar files from Command Line 00:03:56
    5. Using 3rd Party Jars with Command Line Java 00:05:25
    6. Conclusion 00:00:37
  4. Chapter 4 : Getting Started with Maven
    1. Introduction 00:01:03
    2. Compiling and Packaging with Maven 00:08:06
    3. Including Dependencies with Maven 00:05:10
    4. Creating a new Maven Project with IntelliJ 00:06:46
    5. Assignment - Add StringUtils Dep to Project 00:01:34
    6. Assignment Review - Add StringUtils Dep to Project 00:04:08
  5. Chapter 5 : Maven Basics
    1. Introduction 00:01:18
    2. Maven Coordinates 00:05:53
    3. Maven Repositories 00:10:26
    4. Maven Wagon 00:03:12
    5. Maven Project Object Model 00:04:56
    6. Maven Dependencies 00:08:55
    7. Maven Standard Directory Layout 00:04:29
    8. Maven Build Lifecycles 00:09:42
    9. Maven Wrapper 00:07:08
    10. Maven Archetypes 00:08:06
    11. Conclusion 00:00:54
  6. Chapter 6 : Common Maven Plugins
    1. Introduction 00:01:01
    2. Overview Maven Lifecycle Plugins 00:09:25
    3. Maven Clean Plugin 00:06:32
    4. Maven Compiler Plugin 00:03:26
    5. Maven Resources Plugin 00:03:52
    6. Maven Surefire Plugin 00:04:25
    7. Maven Jar Plugin 00:09:24
    8. Maven Deploy Plugin 00:03:50
    9. Maven Site Plugin 00:05:52
    10. Maven and Source Control 00:05:04
    11. Other Maven Plugins 00:06:53
    12. Common Maven Commands and Cheat Sheet 00:06:43
    13. Conclusion 00:01:03
  7. Chapter 7 : Generating Source with Maven
    1. Introduction 00:00:47
    2. XSD to Java with Maven 00:12:38
    3. Assignment - Clean JAXB Project Automatically 00:01:03
    4. Assignment Review - Clean JAXB Project Automatically 00:02:32
    5. Using Maven to Generate Java Classes from JSON Schema 00:12:12
    6. Challenge - Create Project Lombok Project with Maven 00:02:55
    7. Generating Java Classes with Project Lombok and Maven 00:07:42
    8. Challenge - Create MapStruct Project with Maven 00:02:43
    9. Generating Java Classes with MapStruct and Maven 00:11:54
    10. Conclusion 00:01:55
  8. Chapter 8 : Alternate JVM Languages
    1. Introduction 00:02:22
    2. Overview of Alternate JVM Languages with Maven 00:05:09
    3. Compile Groovy with Maven 00:08:50
    4. Compile Kotlin with Maven 00:08:08
    5. Compile Scala with Maven 00:02:41
    6. Conclusion 00:01:00
  9. Chapter 9 : Testing with Maven
    1. Introduction 00:02:43
    2. Overview of Testing with Maven 00:02:57
    3. Using Maven Surefire for POJO Unit Tests 00:05:17
    4. Using Maven Surefire for JUnit 4 Unit Tests 00:03:01
    5. Using Maven Surefire for JUnit 5 Unit Tests 00:05:56
    6. Using Maven Surefire for JUnit 4 and JUnit 5 Tests 00:05:41
    7. Assignment: Add Groovy and JUnit 4 Support to Maven Project 00:01:33
    8. Assignment Review 00:04:19
    9. Using Maven Surefire for Spock Tests 00:10:42
    10. Challenge: Use JUnit 5 with Spock 00:01:01
    11. Using Spock with JUnit 5 00:05:49
    12. Using Maven Surefire for TestNG Unit Tests 00:03:43
    13. Generating Test Reports with Maven 00:04:45
    14. Running Integration Tests with Maven Failsafe 00:06:34
    15. Code Coverage with Jacoco 00:07:42
    16. Maven Spot Bugs Report 00:03:51
    17. Setting Maven Version in IntelliJ 00:04:13
    18. Assignment - Fix Broken Maven Project 00:03:25
    19. Assignment Review 00:13:36
    20. Skipping Unit and Integration Tests in Maven 00:04:51
    21. Conclusion 00:01:16
  10. Chapter 10 : Multi-Module Projects
    1. Introduction 00:01:33
    2. Overview of Multi Module Projects 00:07:33
    3. Creating Parent Project 00:03:23
    4. Create Project Module for Entities 00:10:35
    5. Using IntelliJ to Create New Maven Module 00:04:59
    6. Assignment Add Module for API Model Using XML 00:02:06
    7. Assignment Review Adding Project Module for API Model 00:08:37
    8. Maven Dependencies Between Modules 00:09:35
    9. Assignment Add Module for MapStruct Converters 00:01:25
    10. Assignment Review - Add MapStruct Module 00:10:25
    11. Setting Version via Maven Property 00:05:41
    12. Maven Flatten Plugin 00:06:46
    13. Maven Enforcer Plugin 00:06:04
    14. Assignment - Repair Multi-Module Maven Project 00:01:25
    15. Assignment Review - Repair Multi-Module Maven Project 00:06:59
    16. Overview of Maven Bill of Materials (BOM) 00:04:40
    17. Example of Maven BOM 00:05:38
    18. Conclusion 00:01:39
  11. Chapter 11 : Apache Maven for Spring Boot
    1. Introduction 00:01:20
    2. Spring Boot Parent POM and BOM 00:08:29
    3. Creating Project with Spring Initializr 00:05:30
    4. Spring Boot Starter Dependencies 00:06:23
    5. Spring Boot Fat JAR 00:09:26
    6. Running Spring Boot from Maven 00:05:16
    7. Spring Boot Integration Tests with Maven Failsafe 00:04:10
    8. Generate Build Information with Maven 00:06:05
    9. Add Git Information to Maven Build 00:06:06
    10. Multi-Module Spring Boot Projects 00:15:57
    11. Assignment - Create Spring Boot Multi-Module Project 00:01:32
    12. Assignment Review - Create Spring Boot Multi-Module Project 00:19:54
    13. Conclusion 00:01:32
  12. Chapter 12 : Maven Repositories
    1. Introduction to Maven Repositories 00:01:30
    2. Configuration of Maven Repositories 00:05:11
    3. Configure Mirror Repository in settings.xml 00:04:20
    4. Common Public Maven Repositories 00:04:53
    5. Using JBoss Repository 00:04:21
    6. Introduction to Maven Settings 00:08:21
    7. Assignment - Add JBoss Repository to Settings XML 00:02:34
    8. Assignment Review - Add JBoss Repository to Settings XML 00:05:36
    9. Using Spring Repositories 00:08:30
    10. Manually Installing Dependencies 00:06:50
    11. Overview Using Oracle Maven Repository 00:04:14
    12. Configure Maven Master Password 00:04:20
    13. Configuring Maven for Oracle Maven Repository 00:07:53
    14. Conclusion 00:01:03
  13. Chapter 13 : Deploying to Maven Projects to Packagecloud
    1. Introduction 00:01:38
    2. Packagecloud Account Creation 00:02:45
    3. Create Packagecloud Repository 00:01:47
    4. Packagecloud Maven Configuration 00:08:59
    5. Assignment - Deploy Release to Packagecloud 00:01:14
    6. Assignment Review 00:04:04
    7. Conclusion 00:00:45
  14. Chapter 14 : Deploying Apache Maven Projects to Nexus
    1. Introduction 00:01:51
    2. Nexus Repository Manager Overview 00:08:01
    3. Introduction to Nexus 00:08:29
    4. Create Snapshot Repository 00:06:09
    5. Assignment - Create Release Repository 00:00:53
    6. Assignment Review 00:05:48
    7. Nexus Repository Groups 00:09:05
    8. Conclusion 00:01:50
  15. Chapter 15 : Maven Build Profiles
    1. Introduction 00:00:56
    2. Overview of Maven Build Profiles 00:08:09
    3. Creating Packagecloud Build Profile 00:05:09
    4. Assignment - Create Nexus Build Profile 00:01:21
    5. Assignment Review 00:08:16
    6. Maven Profile Command Line Usage 00:07:16
    7. Setting Properties in Profiles 00:06:50
    8. Conclusion 00:01:26
  16. Chapter 16 : Maven Release Plugin
    1. Introduction 00:01:52
    2. Maven Release Process Overview 00:07:43
    3. Maven SCM Configuration 00:05:13
    4. Maven Release Plugin Configuration 00:05:52
    5. Maven Release Prepare and Perform 00:04:04
    6. Maven Release Rollback 00:04:02
    7. Maven Release Example Error 00:03:40
    8. Maven Release Dry Run 00:02:59
    9. CircleCI Configuration 00:07:20
    10. CircleCI Deploy to Packagecloud 00:05:37
    11. CircleCI Release to Packagecloud 00:12:05
    12. Conclusion 00:00:59
  17. Chapter 17 : Maven in the Real World
    1. Introduction 00:01:05
    2. Overview of Projects 00:06:32
    3. Review Spring Cloud Contract 00:08:12
    4. Review Spring Cloud Contract for OpenAPI 00:04:16
    5. Spring Cloud Contract Fraud Example in OpenAPI 00:02:49
    6. Example Payor Service 00:03:44
    7. Resolving Dependency Conflicts 00:03:40
    8. Development with Snapshot Versions 00:12:50
    9. Deployment to Maven Central 00:13:28
    10. Upgrading Dependent Projects to Release Version 00:04:03

Product Information

  • Title: Apache Maven: Beginner to Guru
  • Author(s): John Thompson
  • Release date: May 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781838983031