Apache Maven POM structure


Example

Project Object Model is the basic unit of Maven and defines the project structure, dependencies, etc.

The following are very minimal to create a POM:

  • project root
  • modelVersion – should be set to 4.0.0
  • groupId – the ID of the project's group
  • artifactId – the ID of the artifact (project)
  • version – the version of the artifact under the specified group

groupId, artifactId and version are called Maven coordinates and sometimes abbreviated with GAV. They uniquely identify the resulting artifact of a project in a Maven repository (and should do so in the entire universe).

A minimal sample POM looks like:

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.sample</groupId>
  <artifactId>sample-app</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</project>