Validation

The pom:validate goal performs a validation of your project descriptor (project.xml, pom) against an xsd schema. The general form of a project descriptor can be found on the main Maven site.

The validation routine works differently for stand-alone poms and poms that extend other ones (child poms). The following table shows which top-level elements (i.e., elements just below the <project> root) are required in each case.

Element name Required in stand-alone pom? Required in child pom?
<extend/> N/AYes
<pomVersion/> YesYes
<id/> YesYes
<groupId/> YesNo
<artifactId/> NoNo
<name/> YesYes
<currentVersion/> YesYes
<description/> NoNo
<shortDescription/> NoNo
<url/> NoNo
<logo/> NoNo
<issueTrackingUrl/> NoNo
<inceptionYear/> YesNo
<gumpRepositoryId/> NoNo
<siteAddress/> NoNo
<siteDirectory/> NoNo
<distributionSite/> NoNo
<distributionDirectory/> NoNo
<mailingLists> NoNo
<developers> NoNo
<contributors> NoNo
<licenses> NoNo
<versions> NoNo
<branches> NoNo
<packageGroups> NoNo
<reports> NoNo
<repository> NoNo
<organization> NoNo
<properties> NoNo
<package/> NoNo
<build> NoNo
<dependencies> NoNo

It is recommended that you include a namespace declaration in your project root:

]]>

but this is currently not enforced by the validation routine.