Project Object Model (POM) is at the heart of any Maven project. This chapter focuses on core concepts and best practices related to POM in building a large-scale, multimodule Maven project.
As we proceed with this chapter, we will be discussing the following topics:
The POM hierarchy, super POM, and parent POM
Extending and overriding POM files
Maven coordinates
Managing dependencies
Transitive dependencies
Dependency scopes and optional dependencies
Note
In Maven 1, the equivalent to today's
pom.xml
file was identified asproject.xml
. Maven 2 renamed it topom.xml
. More details about the POM are available at http://maven.apache.org/pom.html.