What is done during the creation of a project?
Archetype selection
First, the Archetype Plugin asks the user to select an archetype from a list of known archetypes. Archetypes are found in archetype catalogs.
Archetype configuration
Then the Archetype Plugin asks the user to provide values for each of the four main required properties, which are the project's groupId, artifactId, version and package.
It also asks for values for the additional required properties defined in the archetype's metadata file.
Project generation
Finally, the Archetype Plugin generates the Maven project from the selected/configured archetype.
The archetype used to generate the project can be single or multi-module.
The archetype used to generate the project can be partial, which means it enhances an existing project instead of creating a new one.
If the Archetype Plugin is called from an existing project, using a complete (not partial) archetype, then it generates a sub module in the existing project.
If the Archetype Plugin is configured to create a project in an existing directory, it first checks for the existence of a pom.xml file before failing the generation.
Batch mode
It is possible to call the Archetype Plugin to generate a project in batch mode (to get rid of the prompting). This is achieved by providing the Archetype Plugin with all the needed values as system properties.
archetypeCatalogwhich specifies the catalog(s). The valid catalogs are:internal(the default),local,remote.internaluses an internal cataloglocaluses thearchetype-catalog.xmlfile from the local repositoryremoteuses thearchetype-catalog.xmlfrom Maven Central, either direct or via a repository manager file
archetypeGroupIdspecifies the groupId of the archetype to usearchetypeArtifactIdspecifies the artifactId of the archetype to usearchetypeVersionspecifies the version of the archetype to usearchetypeRepositoryspecifies the repository in which the archetype residesgroupIdspecifies the groupId of the generated projectartifactIdspecifies the artifactId of the generated projectversionspecifies the version of the generated projectpackagespecifies the package for the sources of the generated projectanotherVelocityPropertyspecifies any other required property
Behind a Proxy
Being behind a proxy is automatically configured by Maven.



