You are on page 1of 10

DevOps 506: Intermediate

Maven
Persistent University
Module 1: Maven Introduction
Key learning points

• Key Features of Maven

• History of Maven

• Alternatives to Maven

• Comparing Maven and ANT


Key Features of Maven

• A more formal definition of Apache Maven:

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object
model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

• Some Features :

- Simple project setup

- Consistent usage across all projects

- Dependency management

- Able to easily work with multiple projects at the same time

- Instant access to new features with little or no extra configuration

- Web site or PDF generation including any documentation

- Release management and distribution publication

4
History of Maven

• The word maven means "accumulator of knowledge" in Yiddish

• It was originally designed to simplify building processes in Jakarta Turbine project.

• Apache group then developed Maven.

• Maven can now be used for building and managing any Java-based project.

• Idea was to create something that will make day-to-day work of Java developers easier and generally help with
the comprehension of any Java-based project

• References:

- https://en.wikipedia.org/wiki/Apache_Maven

5
Alternatives to Maven

Maven is directly compared with the following tools:

• Apache ANT

• Buildr

• Gradle

• Ivy

However, this is not an appropriate comparison as each tool is designed to do different things, while having ‘build’ as a
common function.

"Maven" includes more than just a build tool. Its also a Project Management tool.

Maven isn’t totally defined by the mechanics of the build system.

While Maven is an alternative to many of these tools, the comparison isn’t very constructive.

Maven’s boundaries are constantly shifting and the Maven community is constantly trying to seek out new ways to become
more inter-operable and cooperative.
Comparing Maven and ANT

Ant Maven

Ant doesn’t have formal conventions like a Maven has conventions.


common project directory structure or default
behavior.

Ant needs explicit instructions on where to Maven knows where your source code is
find the source and where to put the output. because of convention.

Ant is procedural Maven is declarative

Ant doesn’t have a lifecycle Maven has a lifecycle

Ant is found flexible by developers Maven has more or less fixed process so
found less flexible by developers
Ant does not work with concept of repository Maven works with concept of repository

Ant does not have a pom.xml Maven has a pom.xml

Ref:
• https://www.javatpoint.com/difference-between-ant-and-maven
7 • https://www.educba.com/maven-vs-ant/
The Website!

https://maven.apache.org/

8
References

• https://maven.apache.org/

• https://maven.apache.org/maven-features.html

• https://en.wikipedia.org/wiki/Apache_Maven

• https://javabrains.io/courses/buildsys_mavenintro/

• Maven: The Definitive Guide

• Maven: The Complete Reference

• https://www.tutorialspoint.com/maven/maven_overview.htm

• https://www.javatpoint.com/difference-between-ant-and-maven

• https://www.educba.com/maven-vs-ant/

9
Thank you!
Persistent University

You might also like