We may earn an affiliate commission when you visit our partners.
Course image
John Thompson • 500,000+ Enrollments Worldwide and Spring Ahead Code Academy

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.

Read more

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 Lifecycles

  • Use Maven to build and package Java projects

  • See how to use Maven with popular alternative JVM languages, including Groovy, Kotlin, and Scala

  • Configure Maven to run your unit and integration tests written in JUnit 3, JUnit 4, JUnit 5, TestNG, and Spock

  • Generate source code from XML and JSON Schemas

  • Leverage annotation processing at compile time for Project Lombok and Mapstruct

  • Learn in depth about the Apache Maven plugin system and see how plugins are used in the build lifecycle

  • Build Spring Boot applications with Apache Maven

  • Improve your code quality with code coverage and spot bugs reports

  • Unlock valuable capabilities of the Spring Boot Maven plugin.

  • Deploy project artifacts to Maven repositories

  • Develop multi-module Maven projects

  • Learn how to use Maven Build Profiles

  • Perform Releases using the Maven Release Plugin

  • How to use Maven for Enterprise Dependency management by using BOMs

  • And much more.

This is course is for the modern Java developer.

The entire course has been developed using Java 11.

Course Extras

  • All 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.

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

Apache Maven Introduction
Welcome to Apache Maven - Beginner to Guru course
Meet your Instructor
Getting the Most Out of this Course
Read more
Why Use Apache Maven?
Slack Group for Apache Maven: Beginner to Guru
Is your IDE Free Like a Puppy?
Free 120 Day IntelliJ IDEA Trial!
GitHub Workflow
Getting Started
Introduction
System Requirements
Maven Installation
Environment Verification
Conclusion
Compiling Java
Review of Java Compile and Packaging
Hello World Java Command Line
Creating Java jar files from Command Line
Using 3rd Party Jars with Command Line Java

Test your knowledge about compiling Java.

Getting Started with Maven
Compiling and Packaging with Maven
Including Dependencies with Maven
Creating a new Maven Project with IntelliJ
Assignment - Add StringUtils Dep to Project
Assignment Review - Add StringUtils Dep to Project

Quiz to review topics in the Getting Started with Maven section.

Maven Basics
Maven Coordinates
Maven Repositories
Maven Wagon
Maven Project Object Model
Maven Dependencies
Maven Standard Directory Layout
Maven Build Lifecycles
Maven Wrapper
Maven Archetypes
Common Maven Plugins
Overview Maven Lifecycle Plugins
Maven Clean Plugin
Maven Compiler Plugin
Maven Resources Plugin
Maven Surefire Plugin
Maven Jar Plugin
Maven Deploy Plugin
Maven Site Plugin
Maven and Source Control
Other Maven Plugins
Common Maven Commands and CheatSheet
Generating Source with Maven
XSD to Java with Maven
Assignment - Clean JAXB Project Automatically
Assignment Review - Clean JAXB Project Automatically
Using Maven to Generate Java Classes from JSON Schema
Challenge - Create Project Lombok Project with Maven
Generating Java Classes with Project Lombok and Maven
Challenge - Create MapStruct Project with Maven
Generating Java Classes with MapStruct and Maven
Alternate JVM Languages
Overview of Alternate JVM Languages with Maven
Compile Groovy with Maven
Compile Kotlin with Maven
Compile Scala with Maven
Testing with Maven
Overview of Testing with Maven
Using Maven Surefire for POJO Unit Tests
Using Maven Surefire for JUnit 4 Unit Tests
Using Maven Surefire for JUnit 5 Unit Tests
Using Maven Surefire for JUnit 4 and JUnit 5 Tests
Assignment: Add Groovy and JUnit 4 Support to Maven Project
Assignment Review
Using Maven Surefire for Spock Tests
Challenge: Use JUnit 5 with Spock
Using Spock with JUnit 5
Using Maven Surefire for TestNG Unit Tests
Generating Test Reports with Maven
Running Integration Tests with Maven Failsafe
Code Coverage with Jacoco
Maven Spot Bugs Report
Setting Maven Version in IntelliJ
Assignment - Fix Broken Maven Project
Skipping Unit and Integration Tests in Maven
Multi-Module Projects

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explores Apache Maven, a build tool popular with over 70% of Java organizations
Taught by John Thompson, who has over 500,000 worldwide enrollments and is an Apache Maven expert
Develops foundational Maven knowledge, starting from scratch
Develops expertise in Apache Maven, guiding learners from beginner to 'guru' status
Provides access to valuable materials, including GitHub source code repositories and a Slack community
Covers advanced topics such as plugin system and Spring Boot integration

Save this course

Save Apache Maven: Beginner to Guru to your list so you can find it easily later:
Save

Reviews summary

Maven course for beginners

According to students, this Apache Maven course is well received by learners. Students particularly enjoyed the POM/plugin focus of the course. However, some students without Java knowledge expressed a desire for more beginner-friendly content.
Course is POM/plugin focused.
May not be suitable for those without Java knowledge.
"As a DevOps Engineer without any Java knowledge, I'm picking up a lot I can use for our projects."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Apache Maven: Beginner to Guru with these activities:
Review Java syntax and concepts
Strengthen your foundation in Java to better understand how it interacts with Maven.
Browse courses on Java Syntax
Show steps
  • Go over online tutorials or documentation on Java syntax
  • Review key concepts such as variables, data types, operators, and control flow
  • Practice writing simple Java programs
Practice Maven commands
Reinforce your understanding of Maven commands by practicing them on your local environment.
Show steps
  • Install Maven on your system
  • Create a new Maven project
  • Run common Maven commands such as clean, compile, package, and install
Follow tutorials on Maven plugins
Deepen your understanding of Maven plugins by following online tutorials and guides.
Show steps
  • Search for tutorials on specific Maven plugins
  • Follow the steps and examples provided in the tutorials
  • Experiment with the plugins in your own projects
Two other activities
Expand to see all activities and additional details
Show all five activities
Join a Maven study group
Engage with fellow learners and instructors to reinforce your understanding of Maven.
Show steps
  • Find or create a study group focused on Maven
  • Meet regularly to discuss concepts, ask questions, and work together on projects
  • Share resources and knowledge with the group
Participate in a Maven hackathon
Put your Maven skills to the test and collaborate with others to solve real-world challenges.
Show steps
  • Find or join a Maven hackathon
  • Form a team and brainstorm ideas
  • Develop a Maven-based solution to the challenge
  • Submit your project and present it to the judges

Career center

Learners who complete Apache Maven: Beginner to Guru will develop knowledge and skills that may be useful to these careers:
Software Developer
A Software Developer may use Maven to automate the build and deployment process for software applications. With the skills you'll gain from the Apache Maven: Beginner to Guru course, you will be able to work with popular alternative JVM languages, including Groovy, Kotlin, and Scala.
Build Engineer
A Build Engineer may rely on Maven to automate tasks related to building, testing, and packaging software applications. The Apache Maven: Beginner to Guru course will teach you about the Apache Maven plugin system and how to see how plugins are used in the build lifecycle.
Release Engineer
A Release Engineer may use Maven to automate the process of releasing new versions of software applications. Specifically, the Apache Maven: Beginner to Guru course will teach you how to use the Maven Release Plugin to perform Maven releases.
DevOps Engineer
A DevOps Engineer may use Maven to integrate build, test, and deployment processes into a continuous delivery pipeline. The Apache Maven: Beginner to Guru course will teach you how to use Maven to automate tasks related to building, testing, and packaging software applications.
Java Developer
A Java Developer may use Maven in their daily work to improve Java projects and implement valuable best practices. Specifically, the Apache Maven: Beginner to Guru course will teach you how to leverage the Apache Maven plugin system and configure plugins to work within Maven Build Lifecycles.
Technical Architect
A Technical Architect may use Maven for enterprise dependency management using BOMs, reducing the risk of dependency conflicts. The Apache Maven: Beginner to Guru course will also teach you more about leveraging Maven's convention over configuration approach to simplify development and maintenance.
Consultant
A Consultant may need to use Maven to help their clients build and deploy software applications. The Apache Maven: Beginner to Guru course will teach you more about using Maven to develop multi-module Maven projects, which can be helpful for consultants working on large projects.
Computer Programmer
A Computer Programmer may use Maven to automate the build and deployment process for software applications. The Apache Maven: Beginner to Guru course will teach you how to leverage annotation processing at compile time.
System Administrator
A System Administrator may use Maven to manage the dependencies and build processes for software applications deployed on their systems. The Apache Maven: Beginner to Guru course will teach you more about using Maven to deploy artifacts to Maven repositories, which system administrators might do to ensure that their systems have the latest versions of software.
Database Administrator
A Database Administrator may use Maven to manage the dependencies and build processes for database applications. The Apache Maven: Beginner to Guru course will teach you more about using Maven to generate source code from XML and JSON schemas.
Data Analyst
A Data Analyst may use Maven to manage the dependencies and build processes for data analysis pipelines. The Apache Maven: Beginner to Guru course will teach you about the Apache Maven plugin system and.
Network Administrator
A Network Administrator may use Maven to manage the dependencies and build processes for network applications. The Apache Maven: Beginner to Guru course will teach you more about using Maven to generate source code from XML and JSON schemas.
Information Security Analyst
An Information Security Analyst may use Maven to manage the dependencies and build processes for security applications. The Apache Maven: Beginner to Guru course will teach you more about using Maven to run your unit and integration tests.
Quality Assurance Analyst
A Quality Assurance Analyst may use Maven to manage the dependencies and build processes for testing applications. The Apache Maven: Beginner to Guru course will teach you more about using Apache Maven's Convention over Configuration approach.
Technical Writer
A Technical Writer may use Maven to help document the build and deployment process for software applications. The Apache Maven: Beginner to Guru course will teach you more about leveraging Maven's convention over configuration approach.

Reading list

We've selected 14 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Apache Maven: Beginner to Guru.
Comprehensive reference guide to Java. It covers a wide range of topics, including object-oriented design principles, data structures, and algorithms.
Classic guide to writing high-quality Java code. It covers a wide range of topics, including object-oriented design principles, performance optimization, and concurrency.
Guide to writing clean and maintainable code. It covers a wide range of topics, including naming conventions, code organization, and refactoring.
This online documentation from the Sonatype team provides beginner to intermediate guides on many Maven topics, including helpful blog links and references.
Beginner-friendly introduction to Java. It uses a unique and engaging approach to teaching, making it a great choice for those who are new to programming.
Beginner-friendly introduction to Java programming. It covers a wide range of topics, including object-oriented design principles, data structures, and algorithms.
Beginner-friendly introduction to Java. It covers a wide range of topics, including object-oriented design principles, data structures, and algorithms.
Beginner-friendly introduction to Java programming. It covers a wide range of topics, including object-oriented design principles, data structures, and algorithms.
Must-read for intermediate to advanced Java developers who want to learn about concurrency and parallelism. Highly respected by professionals in the field for its thoroughness and quality.
Must-read for Java developers of any experience level. It provides 78 practical guidelines, tips, and traps for improving your Java code.
Must-read for developers who want to master JUnit. It offers a great introduction to JUnit and test-driven development and an overview of JUnit 4 and JUnit 5.
Offers a comprehensive introduction to the Scala programming language. It covers the fundamentals up through the latest features of Scala 3.1.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Apache Maven: Beginner to Guru.
Java SE 17 Unit Testing with JUnit
Most relevant
JUnit and Mockito Crash Course
Most relevant
Selenium WebDriver and Java - Learn Automation with...
Most relevant
Java Application Deployment
Most relevant
RESTful Web Services, Java, Spring Boot, Spring MVC and...
Most relevant
Selenium WebDriver JAVA |Best for Beginners |Real...
Most relevant
Testing Spring Boot: Beginner to Guru
Most relevant
Gradle 7 Build Tool Fundamentals
Most relevant
Implementing Machine Learning Workflow with Weka
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser