Plugin Documentation
This report describes goals, parameters details, requirements and sample usage of this plugin.
Goals
Goals available for this plugin:
Goal | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
archetype:crawl | Crawl a Maven repository (filesystem, not HTTP) and creates a catalog file. | ||||||||||||||
archetype:create-from-project | Creates an archetype project from the current project. This goal reads your source and resource files, the values of its parameters, and properties you specify in a The maven-archetype-plugin uses Velocity to expand template files, and this documentation talks about 'Velocity Properties', which are values substituted into Velocity templates. See The Velocity User's Guide for more information. This goal modifies the text of the files of the current project to form the Velocity template files that make up the archetype.
Note that you may need to edit the results of this goal. This goal has no way to exclude unwanted files, or add copyright notices to the Velocity templates, or add more complex elements to the archetype metadata file. This goal also generates a simple integration-test that exercises the generated archetype. | ||||||||||||||
archetype:generate | Generates a new project from an archetype, or updates the actual project if using a partial archetype. If the project is fully generated, it is generated in a directory corresponding to its artifactId. If the project is updated with a partial archetype, it is done in the current directory. | ||||||||||||||
archetype:help | Display help information on maven-archetype-plugin.
Call mvn archetype:help -Ddetail=true -Dgoal=<goal-name> to display parameter details. | ||||||||||||||
archetype:integration-test | Execute the archetype integration tests, consisting in generating projects from the current archetype and optionally comparing generated projects with reference copy. Each IT consists of a sub-directory in
To let the IT create a Maven module below some other Maven project (being generated from another archetype) one can additionally specify an optional An example structure for such an integration test looks like this
Notice that it is expected to be run as part as of a build after the | ||||||||||||||
archetype:jar | Build a JAR from the current Archetype project. | ||||||||||||||
archetype:update-local-catalog | Updates the local catalog |
System Requirements
The following specifies the minimum requirements to run this Maven plugin:
Maven | 3.6.3 |
JDK | 1.8 |
System Requirements History
The following specifies the minimum requirements to run this Maven plugin for historical versions:
Plugin Version | Maven | JDK |
---|---|---|
3.3.0 | 3.6.3 | 8 |
from 3.1.0 to 3.2.1 | 3.0 | 7 |
from 3.0.0 to 3.0.1 | 3.0 | 6 |
from 2.3 to 2.4 | 2.2.1 | 5 |
from 2.0 to 2.2 | 2.0.7 | 5 |
from 2.0-alpha-1 to 2.0-alpha-5 | 2.0.7 | 1.4 |
1.0-alpha-7 | 2.0 | - |
from 1.0-alpha-3 to 1.0-alpha-4 | - | - |
Usage
You should specify the version in your project's plugin configuration:
<project> ... <build> <!-- To define the plugin version in your parent POM --> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-archetype-plugin</artifactId> <version>3.3.0</version> </plugin> ... </plugins> </pluginManagement> <!-- To use the plugin goals in your POM or parent POM --> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-archetype-plugin</artifactId> </plugin> ... </plugins> </build> ... </project>
For more information, see "Guide to Configuring Plug-ins"