commit | 5405a4a95ddcd72e7d2336ff2113d7d20b6a0cc3 | [log] [tgz] |
---|---|---|
author | Lukasz Lenart <lukaszlenart@apache.org> | Sat Feb 18 16:26:54 2023 +0100 |
committer | GitHub <noreply@github.com> | Sat Feb 18 16:26:54 2023 +0100 |
tree | 63b2bfb6295e4ff1a767c526440a6ae47788b7b8 | |
parent | 36c76c75e2b1c5d6341706949963537c85df92c3 [diff] | |
parent | dff2cb9a4424ee3e457b4d55c08e974bd88edf2c [diff] |
Merge pull request #12 from apache/dependabot/maven/struts2-archetype-blank/src/main/resources/archetype-resources/junit-junit-4.13.1 Bump junit from 4.12 to 4.13.1 in /struts2-archetype-blank/src/main/resources/archetype-resources
Struts 2 provides several Maven archetypes that create a starting point for our own applications.
A recommended way to start with Struts2 archetypes is to use archetype:generate
goal with filter
parameter.
mvn archetype:generate -Dfilter=org.apache:struts
Convention-based validation
Example actions
Package-level resource bundle
Unit-testing
Google AppEgine aware
mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DartifactId=myWebApp \ -DarchetypeGroupId=org.apache.struts \ -DarchetypeArtifactId=struts2-archetype-convention
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.
mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DartifactId=myWebApp \ -DarchetypeGroupId=org.apache.struts \ -DarchetypeArtifactId=struts2-archetype-blank
The Starter archetype creates a more featured application using several common technologies used in production applications.
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)
mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DartifactId=myWebApp \ -DarchetypeGroupId=org.apache.struts \ -DarchetypeArtifactId=struts2-archetype-starter
Convention-based Action Configuration
Example actions with JSON Result
Example for AngularJS and Struts2 Integration
mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DartifactId=myWebApp \ -DarchetypeGroupId=org.apache.struts \ -DarchetypeArtifactId=struts2-archetype-angularjs
The Portlet blank archetype creates a minimally populated JSR 168 portlet.
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 with the pluto-embedded profile (usage ‘mvn jetty:run -Ppluto-embedded’, then access http://localhost:8080/<artifactId>/pluto/index.jsp)
mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DartifactId=myWebApp \ -DarchetypeGroupId=org.apache.struts \ -DarchetypeArtifactId=struts2-archetype-portlet
The Portlet database archetype creates a simple JSR 168 portlet that displays the contents of a database table.
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
mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DartifactId=myWebApp \ -DarchetypeGroupId=org.apache.struts \ -DarchetypeArtifactId=struts2-archetype-dbportlet
Example new result type
Example XML-based configuration
mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DartifactId=myPlugin \ -DarchetypeGroupId=org.apache.struts \ -DarchetypeArtifactId=struts2-archetype-plugin
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:
groupId
This should be the root package of your application, e.g., com.mycompany.myapp.
artifactId
Names the project directory that will be created in the current directory.
mvn archetype:generate -B \ -DgroupId=tutorial \ -DartifactId=tutorial \ -DarchetypeGroupId=org.apache.struts \ -DarchetypeArtifactId=struts2-archetype-blank
If the above command will fail because of missing archetypes in central repository, you can try to use staging repository.
Add staging repository to your settings.xml
<settings> <profiles> <profile> <id>staging</id> <repositories> <repository> <id>archetype</id> <url>https://repository.apache.org/content/repositories/snapshots/</url> <releases> <enabled>true</enabled> <checksumPolicy>fail</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <checksumPolicy>warn</checksumPolicy> </snapshots> </repository> </repositories> </profile> </profiles> </settings>
Use staging
profile in the command.
mvn archetype:generate -B \ -DgroupId=tutorial \ -DartifactId=tutorial \ -DarchetypeGroupId=org.apache.struts \ -DarchetypeArtifactId=struts2-archetype-blank \ -Pstaging
The -B
option runs archetype:generate
in batch mode; it avoids a prompt to confirm our settings.
Parameter | Description |
---|---|
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 |
These commands are used from the directory created by the archetype plugin (the project's sub-directory that was created in the previous step).
mvn install
mvn test
mvn clean
mvn package
mvn initialize
mvn jetty:run