Apache Maven POM - Project Object Model POM structure


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: