Apache Maven

Return to Java Topics

Snippet from Wikipedia: Apache Maven

Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages. The Maven project is hosted by the Apache Software Foundation, where it was formerly part of the Jakarta Project.

Maven addresses two aspects of building software: how software is built, and its dependencies. Unlike earlier tools like Apache Ant, it uses conventions for the build procedure. Only exceptions need to be specified. An XML file describes the software project being built, its dependencies on other external modules and components, the build order, directories, and required plug-ins. It comes with pre-defined targets for performing certain well-defined tasks such as compilation of code and its packaging. Maven dynamically downloads Java libraries and Maven plug-ins from one or more repositories such as the Maven 2 Central Repository, and stores them in a local cache. This local cache of downloaded artifacts can also be updated with artifacts created by local projects. Public repositories can also be updated.

Maven is built using a plugin-based architecture that allows it to make use of any application controllable through standard input. A C/C++ native plugin is maintained for Maven 2.

Alternative technologies like Gradle and sbt as build tools do not rely on XML, but keep the key concepts Maven introduced. With Apache Ivy, a dedicated dependency manager was developed as well that also supports Maven repositories.

Apache Maven has support for reproducible builds.


Apache Maven - Beginner to Guru by John Thompson

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

Created by John Thompson - https://www.udemy.com/user/john-thompson-2/

Last updated 7/2019

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


  • 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


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.

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

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 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!)

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'e 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.

Who this course is for:

  • 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

Fair Use Source: https://www.udemy.com/apache-maven-beginner-to-guru

LinkedIn Learning Courses

    • 1h 36m Beginner Released: April 30, 2019 4 chapter quizzes
    • Apache Maven is a powerful build system used by thousands of Java developers on enterprise, freelance, and open-source projects. But it can do so much more. This course focuses on the basics of using Maven for dependency management, Maven for Java builds, and reporting. Instructor Frank Moley starts with the foundations: the project object model (POM) and POM elements, including properties and dependencies. He then reviews the build life cycle, showing how to leverage the Core and Tools plugins to automate tasks like cleanup and compile. He also shows how to manage dependencies, including creating uber JAR files to Java package executables with their Java dependencies. Finally, he covers reporting with Maven sites and popular Maven plugins. By the end of the course, you should be familiar enough with Maven to use it to meet the needs of almost any Java project, from simple components to unique customized builds.”
    • Learning Objectives:
      • Exploring POM files
      • The build life cycle
      • Using build plugins
      • Dependency management with Maven
      • Maven reporting
      • Working with Maven sites

Fair Use Source: https://www.linkedin.com/learning/introducing-maven/building-java-the-maven-way


YouTube Videos

GitHub Tags

External Sites


  • maven

Interesting Articles

Support Resources, FAQs, Q&A, Docs, Blogs

Search Engines

Repos and Registries




Cloud Monk is Retired. Buddha with you. © 2020 Losang Jinpa or Fair Use

apache_maven.txt · Last modified: 2020/11/20 01:06 (external edit)

Page Tools