Apache Maven
Maven is an open-source software project management tool. It was born out of the need to simplify Ant-based builds and it favors convention over configuration. In more concrete terms, it offers out of the box support for typical workflows, such as building Java web applications, provided one follows its conventions. However, customizing the build process can prove challenging, and many of its detractors point this design choice out as the main motivation for not using Maven.
Note
More information on Maven can be found at https://maven.apache.org.
While Maven offers many features, they are beyond the scope of this chapter. We will focus on its support for building Java web applications.
The following POM (Project Object Model) file illustrates how a project can be declared with Maven (in a file called pom.xml):
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven...