|Apache Struts 2 Documentation > Home > Guides > Core Developers Guide > Struts 2 Maven Archetypes|
Struts 2 provides several Maven archetypes that create a starting point for our own applications.
The Struts 2 Blank Archetype ("blank-archetype") provides a minimal, but complete, Struts 2 application. It demonstrates some of the most basic Struts 2 concepts.
See the Struts 2 Blank Archetype page for more information, including some basic Maven information, how to build and run the app, and basic application information.
The Starter archetype creates a more featured application using several common technologies used in production applications.
The Portlet blank archetype creates a minimally populated JSR 168 portlet.
The Portlet database archetype creates a simple JSR 168 portlet that displays the contents of a database table.
Run the following command from your new project's parent directory. The project will be created in a sub-directory named after the artifactId parameter.
The first two parameters, groupId and artifactId, should be set according to your needs:
where <version> is archetype's version you want to use, eg. 2.2.1
If the above command will fail because of missing archetypes in central repository, you can try to use staging repository like below
The -B option runs archetype:generate in batch mode; it avoids a prompt to confirm our settings.
|groupId||The id for the group the application belongs to. Usually is the root package for applications in your company, e.g. com.mycompany|
|artifactId||The id for the project. The project will be created a sub-directory named after this parameter.|
|archetypeGroupId||The group id of the archetype. Will always be org.apache.struts for Struts archetypes|
|archetypeArtifactId||The id of the archetype|
|archetypeVersion||The version of the archetype|
|package||(Optional) The base Java package to use for generated source code. Defaults to archetypeGroupId if not specified.|
|remoteRepositories||(Optional) A list of remote repositories that contain the archetype.|
These commands are used from the directory created by the archetype plugin (the project's sub-directory that was created in the previous step).