I'm going in the next article (or two, if I feel I go way overboard in length) to explain you Maven as a build tool. At the end you won't be an expert, but you'll have a solid grasp on what it does to build projects, how to investigate what it does, and why it is so popular. So grab you favorite beverage (better be coffee), we're jumping straight in:
Maven does three things, really well, which are sort of inter connected:
1. Project Management
The name of the project, who works on it, what SCM are configured for it, licenses, etc.
2. Artifact Repository (Artifact = fancy name for binaries)
Downloading of the various dependencies. Even Maven itself has a lot of its functionality as plugins that will be downloaded.
3. Build System
A bunch of steps to execute to get from a bunch of sources a binary output.
Maven has for a single project only one configuration file, and it must be called pom.xml. POM itself stands for Project Object Model. This is an unfortunate name, it literally just means that all the data for a project is there, touching all the 3 points mentioned (project management, artifact repository dependencies, and the build system).
In this article we will focus only on the 3rd point of the article, namely the build system.