Work in progress--this page will replace Struts Maven Archetypes once completed.
Struts 2 provides several Maven archetypes that create a starting point for our own applications.
Available Archetypes
The Blank Archetype (struts2-archetype-blank)
Minimal-yet-complete Struts 2 application.
Features
- XML-based configuration, demonstrates including additional config file
- Example actions
- Package-level resource bundle
- XML-based validation
- Unit-testing
The Starter Archetype (struts2-archetype-starter)
Not yet updated for 2.1.6
The Starter archetype creates a more featured application using several common technologies used in production applications.
Features
- Sitemesh integration
- Action example (instantiated both through Spring and Struts)
- Spring integration
- Validation example (action and action-alias level)
- Conversion example (global and action level)
- Resource bundle (both global, action and package level)
The Portlet Blank Archetype (struts2-archetype-portlet)
Not yet updated for 2.1.6
The Portlet blank archetype creates a minimally populated JSR 168 portlet.
Features
- View, Edit, and Help mode examples
- Simple form for preferences in Edit mode
- Can be deployed as a servlet or portlet application
- Can use Maven Jetty plugin to deploy as a servlet webapp
The Portlet Database Archetype (struts2-archetype-dbportlet)
Not yet updated for 2.1.6
The Portlet database archetype creates a simple JSR 168 portlet that displays the contents of a database table.
Features
- Uses Spring and Hsql to show a real database query
- Builtin caching of query results
- View, Edit, and Help mode examples
- Simple form for preferences in Edit mode
- Can be deployed as a servlet or portlet application
- Can use Maven Jetty plugin to deploy as a servlet webapp
Creating an Application Using a Maven Archetype
Run the following command from your project's parent directory (the project will be created in the sub-directory named by the artifactId
parameter).
The groupId
parameter should be the root package of your application, e.g., com.mycompany.myapp. The artifactId
parameter names the project directory that will be created in the current directory (the directory you're running the command from).
mvn archetype:generate -DgroupId=tutorial \ -DartifactId=tutorial \ -DarchetypeGroupId=org.apache.struts \ -DarchetypeArtifactId=struts2-archetype-blank \ -DarchetypeVersion=2.1.6
Archetype Parameters
Parameter |
Description |
---|---|
|
The id for the group the application belongs to. Usually is the root package for applications in your company, e.g. com.mycompany |
|
The id for the project. The project will be created a sub-directory named after this parameter. |
|
The group id of the archetype. Will always be |
|
The id of the archetype |
|
The version of the archetype |
|
(Optional) The base Java package to use for generated source code. Defaults to |
|
(Optional) A list of remote repositories that contain the archetype. |
Command Quick Reference
These commands are used from the directory created by the archetype plugin (the project's sub-directory that was created in the previous step).
- To build
mvn install
- To create IntelliJ IDEA project files
mvn idea:idea
- To create Eclipse project files
mvn eclipse:eclipse
- To run test cases
mvn test
- To clean up (removes generated artifacts)
mvn clean
- To package (creates a WAR file)
mvn package
- To grab necessary JAR files etc.
mvn initialize
- To run it with Jetty
mvn jetty:run