Learning Maven

Learning Maven

You can use this learning-by-doing course to gain a comprehensive & practical understanding of how to use Maven and build projects with it.

Last updated on April 22, 2020 - 7 modules

Buy for $120 or Start Free Module

Due to the Coronavirus pandemic all courses are 33% off. Offer valid through June 1st. Regular Price: $180 .


Is this course for me?

This course is meant for you if any of the following apply:

  • You are new to build tools in Java or Maven and want to quickly get the skills to create rock-solid Maven projects.

  • Your Maven experience is mainly limited to executing 'mvn clean install' on the command line.

  • You have been working with Maven for a while, but would love to get a comprehensive understanding of its intermediate features.

How does this course work?

This course consists of several modules, that are structured along a well-orchestrated, unique learning path. Each module consists of several exercises that explain a certain aspect of Maven in detail.

All modules are centered around one Maven project, which you will create from scratch and continually enhance to not just use Maven theoretically, but put all the concepts immediately into practice.

Hence, you will need to tackle this course linearly, as the modules build on top of each other.

While this might sound like a restriction to some (why bother with the basics ?), it will pay for itself with a comprehensive, practical understanding of Maven that you will not get anywhere else.

What are the prerequisites?

To finish this course you’ll need:

  1. A good understanding of the Java programming language (or, another language such as PHP, Javascript, Python or Ruby). If you are completely new to Java, this course is not for you.

  2. To have read & understood the Maven Crash Course Chapter of the mvn clean install article on this very site.

  3. The following tools installed:

    • A recent Java version installed. Java 8 up to 14 will work fine.

    • An IDE installed, preferably the free Intellij Community Edition, as it will be used to demonstrate how Maven works together with an IDE throughout this course.

Does this course include help/coaching?

Yes, if you bought this course you’ll get email help on any problems you’re stuck with. Typical response times are between 24-48hrs.

What if I don’t like the course? What about refunds?

As with all my courses, there’s a 14-day refund guarantee. If, for whatever reason, you don’t like the course, send a quick mail to ask@marcobehler.com for up to 14 days after purchase.

You’ll (usually) get your money back in the next 24 hours, no bad feelings involved.

Which versions of Maven are covered?

  • Maven: 3.6+ (specifically: 3.6.3)

What topics are not covered?

Current versions of this course do not include details on:

  • Maven Profiles: Rarely used with modern frameworks like Spring Boot.

  • Maven Resource Filtering: Rarely used with modern frameworks like Spring Boot.

  • .war files: Also less used nowadays, with a focus on runnable .jars instead, which are covered in this course. However, all concepts of this guide also apply to producing .war files with Maven.

Table of Contents

01 Maven Basics  Free

  1. What is this module about?
  2. How to install the latest Maven
  3. How to install Maven as OS package
  4. How to create empty Maven projects by hand
  5. A first look at Maven’s directory layout
  6. How to handle Maven projects from the command line
  7. How to handle Maven from IntelliJ
  8. What you learned in this module

02 Maven Dependencies  Scrambled

  1. What is this module about?
  2. What are Maven dependencies?
  3. How to add Maven dependencies
  4. How and where to find the latest Maven dependencies
  5. How dependencies and their scopes work in Maven
  6. How to get dependencies that are not in Maven central
  7. How to find out where a transitive dependency comes from?
  8. How to read a dependency tree efficiently?
  9. How to align transitive dependency versions
  10. What you learned in this module

03 Testing & Building  Scrambled

  1. What is this module about?
  2. How to package all your project into a runnable .jar file
  3. How to integrate Maven with JUnit 4 or 5
  4. Running all unit tests with Maven
  5. How to execute single unit tests
  6. How to execute integration tests
  7. How to skip Maven tests
  8. What you learned in this module

04 Intermediate Maven Project Setup  Scrambled

  1. What is this module about?
  2. What is Maven wrapper and how to use it?
  3. What are Maven archetypes and how to use them?
  4. How to convert your project to a multi-module project
  5. How to efficiently build Maven multi-module projects with Maven’s reactor
  6. What you learned in this module

05 Releasing and Publishing  Scrambled

  1. What is this module about?
  2. How to deploy your project to your local Maven Repository
  3. How to deploy your project to your remote Maven Repository
  4. How to release your Maven project
  5. How to deploy a 3rd party Jar to your remote Maven repository
  6. What you learned in this module

06 Corporate Maven  Scrambled

  1. What is this module about?
  2. What is a company-specific repository?
  3. Using a company specific settings.xml
  4. Specifying Repository/Mirror Credentials
  5. Encrypting your credentials
  6. Locking Down Plugin Versions
  7. Symlinking Maven installations
  8. What you learned in this module

07 Fin  Scrambled

  1. Summary