Working with the Project Object Model
The Project Object Model (POM) is a central part of Maven, and you will work with it throughout this book.
How do I do that?
The POM is also referred to as the project descriptor. The XML in project.xml describes a project's source code, developers, source control, licensing, as well as identifying information such as the name of the project and the name of the sponsoring organization. Maven's POM is a break with build systems of the past; instead of providing explicit instructions for each build, Maven uses a declarative approach to build management. In other words, you don't tell Maven what to do as much as Maven just knows where to look based on the contents of project.xml. On the other hand, Ant is an imperative approach to project builds; you end up telling Ant to compile this class, make this directory, bundle up these files into a WAR, etc. Maven maintains an assortment of plug-ins crafted to work with a standard POM—a declaration of structure, identification, and content.
If you look at the project.xml file generated by the previous exercise you will notice a number of elements which have been omitted from the previous discussion. The following XML lists the top-level elements in a POM, in the order in which they are expected:
<project> <extend/> <pomVersion/> <id/> <name/> <groupId/> <currentVersion/> <organization/> <inceptionYear/> <package/> <logo/> <gumpRepositoryId/> <description/> <shortDescription/> <url/> <issueTrackingUrl/> <siteAddress/> ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access