A Project Object Model or POM is the fundamental unit of work in Maven.
POM
The POM is an XML file that contains information about the project and configuration details used by maven to build the project. It contains default values for most projects. Examples for this is the build directory, which is target; the source directory, which is src/main/java;
the test source directory, which is src/main/test;
and so on.
The POM was renamed from project.xml
in Maven v1 to pom.xml
in Maven v2. Instead of having a maven.xml
file that contains the goals that can be executed, the goals or plugins are now configured in the pom.xml
. When executing a task or goal, Maven looks for the POM in the current directory. It reads the POM, gets the needed configuration information, then executes the goal.
Some of the configurations that can be specified in the POM are the project dependencies, the plugins or goals that can be executed, the build profiles, and so on. Other information such as the project version, description, developers, mailing lists, and such can also be specified.