I.e. an abstract representation of a kind of project that can be instantiated into a concrete customized Maven project.
An archetype knows which files will be part of the instantiated project and which properties to fill to properly customize the project.
Each archetype defines a set of common properties:
The minimal content of the jar file is:
.
|-- META-INF
|   `-- maven
|       `-- archetype-metadata.xml  [1]
`-- archetype-resources
    |-- ...                         [2]
    `-- pom.xml                     [3]The common properties should be renamed to $target.groupId, ... to avoid name clash.