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 (<project> root) are required in each case.
| Element name | Required in stand-alone pom? | Required in child pom? |
|---|---|---|
<extend/> |
N/A | Yes |
<pomVersion/> |
Yes | Yes |
<id/> |
Yes | Yes |
<groupId/> |
Yes | No |
<artifactId/> |
No | No |
<name/> |
Yes | Yes |
<currentVersion/> |
Yes | Yes |
<description/> |
No | No |
<shortDescription/> |
No | No |
<url/> |
No | No |
<logo/> |
No | No |
<issueTrackingUrl/> |
No | No |
<inceptionYear/> |
Yes | No |
<gumpRepositoryId/> |
No | No |
<siteAddress/> |
No | No |
<siteDirectory/> |
No | No |
<distributionSite/> |
No | No |
<distributionDirectory/> |
No | No |
<mailingLists> |
No | No |
<developers> |
No | No |
<contributors> |
No | No |
<licenses> |
No | No |
<versions> |
No | No |
<branches> |
No | No |
<packageGroups> |
No | No |
<reports> |
No | No |
<repository> |
No | No |
<organization> |
No | No |
<properties> |
No | No |
<package/> |
No | No |
<build> |
No | No |
<dependencies> |
No | No |
It is recommended that you include a namespace declaration in your project root:
but this is currently not enforced by the validation routine.