Apache Maven Beginner to Guru
What you’ll learn
Learn Apache Maven, the most popular Java build tool!
Create Apache Maven Projects from scratch
See how to configure Apache Maven Plugins for Real World use cases
Use Apache Maven to build, test, package, and deploy your Java application
See how to create multi-module Apache Maven projects
Configure Maven Plugins to work within Maven Build Lifecycles
Deploy your Java project to Maven Central or other Maven repositories
Leverage Apache Maven’s Convention over Configuration
Requirements
Must have knowledge of Java programming. (Java 1.8 or higher is ideal)
Computer capable of supporting Java 11 development with internet access
Fundamental XML knowledge helpful
Description
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 learn to master Apache Maven. You will become a ‘guru’ using Apache Maven.No previous experience with Apache Maven is required. In just a few lessons, you will be building your first Apache Maven project! In this course, you will:Learn about the Maven Build LifecyclesUse Maven to build and package Java projectsSee how to use Maven with popular alternative JVM languages, including Groovy, Kotlin, and ScalaConfigure Maven to run your unit and integration tests written in JUnit 3, JUnit 4, JUnit 5, TestNG, and SpockGenerate source code from XML and JSON SchemasLeverage annotation processing at compile time for Project Lombok and MapstructLearn in depth about the Apache Maven plugin system and see how plugins are used in the build lifecycleBuild Spring Boot applications with Apache MavenImprove your code quality with code coverage and spot bugs reportsUnlock valuable capabilities of the Spring Boot Maven plugin!Deploy project artifacts to Maven repositories Develop multi-module Maven projectsLearn how to use Maven Build ProfilesPerform Releases using the Maven Release PluginHow to use Maven for Enterprise Dependency management by using BOMsAnd much more!This is course is for the modern Java developer. The entire course has been developed using Java 11.Course ExtrasAll Source Code in GitHub – Get access to over a dozen GitHub repositories with valuable examples!Slack Community – Join the instructor, teacher’s assistants, and over 1,100 other students in a Slack Community exclusive to this course!Free 120 Day IntelliJ Ultimate Trial – Students enrolling in the course can request a free 120 day trial for IntelliJ Ultimate (the most popular Java IDE!)Closed Captioning / Subtitles – Closed captioning in english is available for all course videos!PDF Downloads – All keynote presentations are available for you to download as PDFs.Lifetime Access – When you purchase this course, you will receive lifetime access! You can login anytime from anywhere to access the course content.Apache Maven is used by over 70% of Java organizations. Employers are seeking people with strong Maven skills. Completing this course, you will be able to answer interview questions about Maven with confidence! Even if you’re already a Java developer using Apache Maven, this course will improve your Maven skills and show you new valuable best practices for your Java projects.Enroll today!
Overview
Section 1: Apache Maven Introduction
Lecture 1 Welcome to Apache Maven – Beginner to Guru course
Lecture 2 Meet your Instructor
Lecture 3 Getting the Most Out of this Course
Lecture 4 Why Use Apache Maven?
Lecture 5 Slack Group for Apache Maven: Beginner to Guru
Lecture 6 Is your IDE Free Like a Puppy?
Lecture 7 Free 120 Day IntelliJ IDEA Trial!
Lecture 8 GitHub Workflow
Section 2: Getting Started
Lecture 9 Introduction
Lecture 10 System Requirements
Lecture 11 Maven Installation
Lecture 12 Environment Verification
Lecture 13 Conclusion
Section 3: Compiling Java
Lecture 14 Introduction
Lecture 15 Review of Java Compile and Packaging
Lecture 16 Hello World Java Command Line
Lecture 17 Creating Java jar files from Command Line
Lecture 18 Using 3rd Party Jars with Command Line Java
Lecture 19 Conclusion
Section 4: Getting Started with Maven
Lecture 20 Introduction
Lecture 21 Compiling and Packaging with Maven
Lecture 22 Including Dependencies with Maven
Lecture 23 Creating a new Maven Project with IntelliJ
Lecture 24 Assignment – Add StringUtils Dep to Project
Lecture 25 Assignment Review – Add StringUtils Dep to Project
Lecture 26 Conclusion
Section 5: Maven Basics
Lecture 27 Introduction
Lecture 28 Maven Coordinates
Lecture 29 Maven Repositories
Lecture 30 Maven Wagon
Lecture 31 Maven Project Object Model
Lecture 32 Maven Dependencies
Lecture 33 Maven Standard Directory Layout
Lecture 34 Maven Build Lifecycles
Lecture 35 Maven Wrapper
Lecture 36 Maven Archetypes
Lecture 37 Conclusion
Section 6: Common Maven Plugins
Lecture 38 Introduction
Lecture 39 Overview Maven Lifecycle Plugins
Lecture 40 Maven Clean Plugin
Lecture 41 Maven Compiler Plugin
Lecture 42 Maven Resources Plugin
Lecture 43 Maven Surefire Plugin
Lecture 44 Maven Jar Plugin
Lecture 45 Maven Deploy Plugin
Lecture 46 Maven Site Plugin
Lecture 47 Maven and Source Control
Lecture 48 Other Maven Plugins
Lecture 49 Common Maven Commands and CheatSheet
Lecture 50 Conclusion
Section 7: Generating Source with Maven
Lecture 51 Introduction
Lecture 52 XSD to Java with Maven
Lecture 53 Assignment – Clean JAXB Project Automatically
Lecture 54 Assignment Review – Clean JAXB Project Automatically
Lecture 55 Using Maven to Generate Java Classes from JSON Schema
Lecture 56 Challenge – Create Project Lombok Project with Maven
Lecture 57 Generating Java Classes with Project Lombok and Maven
Lecture 58 Challenge – Create MapStruct Project with Maven
Lecture 59 Generating Java Classes with MapStruct and Maven
Lecture 60 Conclusion
Section 8: Alternate JVM Languages
Lecture 61 Introduction
Lecture 62 Overview of Alternate JVM Languages with Maven
Lecture 63 Compile Groovy with Maven
Lecture 64 Compile Kotlin with Maven
Lecture 65 Compile Scala with Maven
Lecture 66 Conclusion
Section 9: Testing with Maven
Lecture 67 Introduction
Lecture 68 Overview of Testing with Maven
Lecture 69 Using Maven Surefire for POJO Unit Tests
Lecture 70 Using Maven Surefire for JUnit 4 Unit Tests
Lecture 71 Using Maven Surefire for JUnit 5 Unit Tests
Lecture 72 Using Maven Surefire for JUnit 4 and JUnit 5 Tests
Lecture 73 Assignment: Add Groovy and JUnit 4 Support to Maven Project
Lecture 74 Assignment Review
Lecture 75 Using Maven Surefire for Spock Tests
Lecture 76 Challenge: Use JUnit 5 with Spock
Lecture 77 Using Spock with JUnit 5
Lecture 78 Using Maven Surefire for TestNG Unit Tests
Lecture 79 Generating Test Reports with Maven
Lecture 80 Running Integration Tests with Maven Failsafe
Lecture 81 Code Coverage with Jacoco
Lecture 82 Maven Spot Bugs Report
Lecture 83 Setting Maven Version in IntelliJ
Lecture 84 Assignment – Fix Broken Maven Project
Lecture 85 Assignment Review
Lecture 86 Skipping Unit and Integration Tests in Maven
Lecture 87 Conclusion
Section 10: Multi-Module Projects
Lecture 88 Introduction
Lecture 89 Overview of Multi Module Projects
Lecture 90 Creating Parent Project
Lecture 91 Create Project Module for Entities
Lecture 92 Using IntelliJ to Create New Maven Module
Lecture 93 Assignment Add Module for API Model Using XML
Lecture 94 Assignment Review Adding Project Module for API Model
Lecture 95 Maven Dependencies Between Modules
Lecture 96 Assignment Add Module for MapStruct Converters
Lecture 97 Assignment Review – Add MapStruct Module
Lecture 98 Setting Version via Maven Property
Lecture 99 Maven Flatten Plugin
Lecture 100 Maven Enforcer Plugin
Lecture 101 Assignment – Repair Multi-Module Maven Project
Lecture 102 Assignment Review – Repair Multi-Module Maven Project
Lecture 103 Overview of Maven Bill of Materials (BOM)
Lecture 104 Example of Maven BOM
Lecture 105 Conclusion
Section 11: Apache Maven for Spring Boot
Lecture 106 Introduction
Lecture 107 Spring Boot Parent POM and BOM
Lecture 108 Creating Project with Spring Initializr
Lecture 109 Spring Boot Starter Dependencies
Lecture 110 Spring Boot Fat JAR
Lecture 111 Running Spring Boot from Maven
Lecture 112 Spring Boot Integration Tests with Maven Failsafe
Lecture 113 Generate Build Information with Maven
Lecture 114 Add Git Information to Maven Build
Lecture 115 Multi-Module Spring Boot Projects
Lecture 116 Assignment – Create Spring Boot Multi-Module Project
Lecture 117 Assignment Review – Create Spring Boot Multi-Module Project
Lecture 118 Conclusion
Section 12: Maven Repositories
Lecture 119 Introduction to Maven Repositories
Lecture 120 Configuration of Maven Repositories
Lecture 121 Configure Mirror Repository in settings.xml
Lecture 122 Common Public Maven Repositories
Lecture 123 Using JBoss Repository
Lecture 124 Introduction to Maven Settings
Lecture 125 Assignment – Add JBoss Repository to Settings XML
Lecture 126 Assignment Review – Add JBoss Repository to Settings XML
Lecture 127 Using Spring Repositories
Lecture 128 Manually Installing Dependencies
Lecture 129 Overview Using Oracle Maven Repository
Lecture 130 Configuring Oracle Maven Repository
Lecture 131 Configure Maven Master Password
Lecture 132 Configuring Maven for Oracle Maven Repository
Lecture 133 Conclusion
Section 13: Deploying to Maven Projects to Packagecloud
Lecture 134 Introduction
Lecture 135 Packagecloud Account Creation
Lecture 136 Packagecloud Free Account
Lecture 137 Create Packagecloud Repository
Lecture 138 Packagecloud Maven Configuration
Lecture 139 Assignment – Deploy Release to Packagecloud
Lecture 140 Assignment Review
Lecture 141 Conclusion
Section 14: Deploying Apache Maven Projects to Nexus
Lecture 142 Introduction
Lecture 143 Nexus Repository Manager Overview
Lecture 144 Installing Nexus
Lecture 145 Introduction to Nexus
Lecture 146 Create Snapshot Repository
Lecture 147 Assignment – Create Release Repository
Lecture 148 Assignment Review
Lecture 149 Nexus Repository Groups
Lecture 150 Conclusion
Section 15: Maven Build Profiles
Lecture 151 Introduction
Lecture 152 Overview of Maven Build Profiles
Lecture 153 Creating Packagecloud Build Profile
Lecture 154 Assignment – Create Nexus Build Profile
Lecture 155 Assignment Review
Lecture 156 Maven Profile Command Line Usage
Lecture 157 Setting Properties in Profiles
Lecture 158 Conclusion
Section 16: Maven Release Plugin
Lecture 159 Introduction
Lecture 160 Maven Release Process Overview
Lecture 161 Maven SCM Configuration
Lecture 162 Maven Release Plugin Configuration
Lecture 163 Maven Release Prepare and Perform
Lecture 164 Maven Release Rollback
Lecture 165 Maven Release Example Error
Lecture 166 Maven Release Dry Run
Lecture 167 CircleCI Configuration
Lecture 168 CircleCI Deploy to Packagecloud
Lecture 169 CircleCI Release to Packagecloud
Lecture 170 Conclusion
Section 17: Maven in the Real World
Lecture 171 Introduction
Lecture 172 Overview of Projects
Lecture 173 Review Spring Cloud Contract
Lecture 174 Review Spring Cloud Contract for OpenAPI
Lecture 175 Spring Cloud Contract Fraud Example in OpenAPI
Lecture 176 Example Payor Service
Lecture 177 Resolving Dependency Conflicts
Lecture 178 Development with Snapshot Versions
Lecture 179 Deployment to Maven Central
Lecture 180 Upgrading Dependent Projects to Release Version
Section 18: Enterprise Dependency Management
Lecture 181 Introduction
Lecture 182 Maven Bill of Materials
Lecture 183 Maven BOM Creation
Lecture 184 Maven BOM Setting Common Properties
Lecture 185 Maven BOM Dependency Management
Lecture 186 Maven BOM Common Dependencies
Lecture 187 Maven BOM Common Build Plugins
Lecture 188 Maven Enforcer Build Plugin
Lecture 189 Beer Service Parent BOM Configuration
Lecture 190 Assignment – Update Services to use BOM
Lecture 191 Assignment Review
Lecture 192 Using Released BOMs
Lecture 193 Assignment – Update Services to use Release BOM
Lecture 194 Assignment Review
Lecture 195 IntelliJ Workspace Tips and Tricks
Lecture 196 Conclusion
Section 19: Appendix A: Using GitHub
Lecture 197 Git and GitHub Basics – Start here!
Lecture 198 GitHub Workflow
Java Developers seeking to master Apache Maven,DevOps Engineers who wish to expand their build and deployment skills,Technical Managers wishing to understand the capabilities of Maven better,QA Engineers interested in software quality
Course Information:
Udemy | English | 16h 54m | 13.10 GB
Created by: John Thompson • 470,000+ Enrollments Worldwide
You Can See More Courses in the Developer >> Greetings from CourseDown.com