Fixes "Maven Archetypes" indents
Project: http://git-wip-us.apache.org/repos/asf/struts-site/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-site/commit/ad0d6a88 Tree: http://git-wip-us.apache.org/repos/asf/struts-site/tree/ad0d6a88 Diff: http://git-wip-us.apache.org/repos/asf/struts-site/diff/ad0d6a88 Branch: refs/heads/master Commit: ad0d6a8803ae53eb380930e6753562e749942b57 Parents: fb604dc Author: Yasser Zamani <yasser.zam...@live.com> Authored: Thu Sep 21 16:07:51 2017 +0330 Committer: Yasser Zamani <yasser.zam...@live.com> Committed: Thu Sep 21 16:07:51 2017 +0330 ---------------------------------------------------------------------- source/maven-archetypes/index.md | 38 ++++++++++---------- .../maven-archetypes/struts2-archetype-blank.md | 28 +++++++-------- 2 files changed, 33 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/struts-site/blob/ad0d6a88/source/maven-archetypes/index.md ---------------------------------------------------------------------- diff --git a/source/maven-archetypes/index.md b/source/maven-archetypes/index.md index 154fd24..40b484d 100644 --- a/source/maven-archetypes/index.md +++ b/source/maven-archetypes/index.md @@ -13,7 +13,7 @@ Struts 2 provides several [Maven](http://maven.apache.org/) archetypes that crea * Will be replaced with the ToC, excluding a header {:toc} -### Quickstart +## Quickstart A recommended way to start with Struts2 archetypes is to work with the archetype catalog. @@ -22,11 +22,11 @@ A recommended way to start with Struts2 archetypes is to work with the archetype mvn archetype:generate -DarchetypeCatalog=http://struts.apache.org/ ``` -### Available Archetypes +## Available Archetypes -#### The Blank Convention Archetype (struts2-archetype-convention) +### The Blank Convention Archetype (struts2-archetype-convention) -##### Features +#### Features + Convention-based validation @@ -49,7 +49,7 @@ mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DremoteRepositories=http://struts.apache.org ``` -#### The Blank Archetype (struts2-archetype-blank) +### The Blank Archetype (struts2-archetype-blank) See the [Struts 2 Blank Archetype](struts2-archetype-blank.html) page for more information, including some basic Maven information, how to build and run the app, and basic application information. @@ -63,11 +63,11 @@ mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DremoteRepositories=http://struts.apache.org ``` -#### The Starter Archetype (struts2-archetype-starter) +### The Starter Archetype (struts2-archetype-starter) The Starter archetype creates a more featured application using several common technologies used in production applications. -##### Features +#### Features + Sitemesh integration @@ -92,9 +92,9 @@ mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DremoteRepositories=http://struts.apache.org ``` -#### The AngularJS Archetype (struts2-archetype-angularjs) +### The AngularJS Archetype (struts2-archetype-angularjs) -##### Features +#### Features + Convention-based Action Configuration @@ -113,11 +113,11 @@ mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DremoteRepositories=http://struts.apache.org ``` -#### The Portlet Blank Archetype (struts2-archetype-portlet) +### The Portlet Blank Archetype (struts2-archetype-portlet) The Portlet blank archetype creates a minimally populated JSR 168 portlet. -##### Features +#### Features + View, Edit, and Help mode examples @@ -138,11 +138,11 @@ mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DremoteRepositories=http://struts.apache.org ``` -#### The Portlet Database Archetype (struts2-archetype-dbportlet) +### The Portlet Database Archetype (struts2-archetype-dbportlet) The Portlet database archetype creates a simple JSR 168 portlet that displays the contents of a database table. -##### Features +#### Features + Uses Spring and Hsql to show a real database query @@ -167,9 +167,9 @@ mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DremoteRepositories=http://struts.apache.org ``` -#### The Plugin Archetype (struts2-archetype-plugin) +### The Plugin Archetype (struts2-archetype-plugin) -##### Features +#### Features + Example new result type @@ -186,7 +186,7 @@ mvn archetype:generate -B -DgroupId=com.mycompany.mysystem \ -DremoteRepositories=http://struts.apache.org ``` -### Creating an Application Using a Maven Archetype +## Creating an Application Using a Maven Archetype 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. @@ -210,7 +210,7 @@ mvn archetype:generate -B \ where \<CURRENT_STRUTS_VERSION\> is archetype's version you want to use, e.g. 2.3.15.1 -#### Staging repository +### Staging repository If the above command will fail because of missing archetypes in central repository, you can try to use staging repository like below @@ -226,7 +226,7 @@ or this mvn archetype:generate -DarchetypeCatalog=http://struts.apache.org/ ``` -#### Archetype Parameters +### Archetype Parameters The `-B` option runs `archetype:generate` in batch mode; it avoids a prompt to confirm our settings. @@ -240,7 +240,7 @@ The `-B` option runs `archetype:generate` in batch mode; it avoids a prompt to |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. | -### Command Quick Reference +## 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). http://git-wip-us.apache.org/repos/asf/struts-site/blob/ad0d6a88/source/maven-archetypes/struts2-archetype-blank.md ---------------------------------------------------------------------- diff --git a/source/maven-archetypes/struts2-archetype-blank.md b/source/maven-archetypes/struts2-archetype-blank.md index 83f9007..a49a0f7 100644 --- a/source/maven-archetypes/struts2-archetype-blank.md +++ b/source/maven-archetypes/struts2-archetype-blank.md @@ -27,7 +27,7 @@ __Features__ * Will be replaced with the ToC, excluding a header {:toc} -### Creating Our blank-archetype Project +## Creating Our blank-archetype Project We'll run the following command from our project's parent directory (this is shown using Unix-style commands). @@ -49,7 +49,7 @@ pom.xml src/ Depending on the state of your local system you may see Maven downloading various libraries (known as "downloading the internet", which is what it seems Maven does sometimes). Be patient -- Maven is basically setting up your required libraries automatically. **\<version\>** - is the version of Struts 2 you want to use and archetype was released for, e.g. 2.1.8.1 . -#### Staging repository +### Staging repository If the above command will fail because of missing archetypes in central repository, you can try to use staging repository like below @@ -64,7 +64,7 @@ mvn archetype:generate -B \ -DarchetypeCatalog=http://people.apache.org/builds/struts/<version>/m2-staging-repository/ ``` -### Project Structure +## Project Structure The source code structure follows the normal [Maven directory structure](http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html). The blank-archetype does not include all of the directories listed in the Maven structure reference page. @@ -88,7 +88,7 @@ Our project's structure looks like this: |src/test/java/tutorial| Package defined by groupId parameter| |src/test/java/tutorial/example| Test code from archetype| -#### Structure Difference From Non-Maven Projects +### Structure Difference From Non-Maven Projects One big change for folks not used to the Maven structure is the separation of Java source code and resource files. For example, in a non-Maven project our directory structure might look like this: @@ -107,11 +107,11 @@ One big change for folks not used to the Maven structure is the separation of Ja It can take a little while to get used to, but ultimately it provides good separation of "types" of things, and becomes second-nature pretty quickly. Note that it's possible to use a non-Maven directory layout with Maven projects, but this can be challenging at some points. -### Building The Project +## Building The Project There are several different ways we can go about building our project, from simple compilation up to actually running the web application -- all from within Maven. -#### Compilation +### Compilation @@ -121,7 +121,7 @@ $ mvn compile will create a `target` directory containing the compiled classes. By itself this isn't terribly useful. -#### Testing +### Testing Running @@ -134,9 +134,9 @@ will compile the application and run the included unit tests. Blank-archetype's Once we've run the Maven test command we'll notice there's a `target/surefire-reports` directory. The [Maven Surefire Plugin](http://maven.apache.org/plugins/maven-surefire-plugin/) is how Maven runs our unit tests. By default it will create test results in XML and text formats in the `target/surefire-reports` directory. These files can be examined to get further information regarding the failed tests. -#### Assembling (Creating a WAR) +### Assembling (Creating a WAR) -#### Running +### Running We can run blank-archetype using the [Jetty](http://www.mortbay.org/jetty/) server via the [Maven Jetty Plugin](http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin) by executing the Jetty plugin's `run` command: @@ -147,7 +147,7 @@ $ mvn jetty:run Once we've run the application we can see that it works by visiting `localhost:8080/tutorial/example/Welcome.action` as a sanity check. -### Application Documentation +## Application Documentation The application consists of a few test actions demonstrating simple validation and package-level property (resource) files. The most interesting URLs are as follows (assuming we used `groupId=tutorial`): @@ -157,13 +157,13 @@ The application consists of a few test actions demonstrating simple validation a |/tutorial/example/HelloWorld.action| Handled by explicit mapping, demonstrates package-level properties| |/tutorial/example/Login.action| Handled by explicit mapping with method wilcard (see the Login.action documentation for information regarding how to access this URL)| -#### Application Configuration +### Application Configuration The default Struts 2 configuration file is contained in `src/main/resources/struts.xml`. It includes an additional configuration file, `src/main/resources/example.xml`. The application's mappings are contained in the `example.xml` file. The `struts.xml` file sets some constants. See the [struts.xml page](/core-developers/struts-xml.html) for more information about the `struts.xml` file. For more information regarding what's contained in typical `struts.xml` files start at the [Configuration Elements page](/core-developers/configuration-elements.html), which contains links to a bunch of information. See the [Configuration Files](/core-developers/configuration-files.html) page for more information regarding additional Struts 2 configuration files, including links to the files that set all the Struts 2 default configurations. -#### Welcome.action +### Welcome.action The mapping for this action is handled by a "catch-all" mapping in `example.xml`: @@ -176,11 +176,11 @@ The mapping for this action is handled by a "catch-all" mapping in `example.xml This mapping is the last mapping contained in `example.xml` -- anything not handled by mappings appearing before it in `example.xml` will be caught by this mapping. This mapping will look for JSP files in `src/main/webapp/example/*.jsp`. Since there's a `Welcome.jsp` in that directory, we're all set. See the [Wildcard Mappings page](/core-developers/wildcard-mappings.html) for more information on how Struts 2 can use wildcard mappings. -#### HelloWorld.action +### HelloWorld.action The mapping executes the HelloWorld action, contained in `src/main/java/tutorial/example/HelloWorld.action`. This action retrieves a message from a package-level properties file, contained in `src/main/resources/tutorial/package.properties`. See the [Localization page](/core-developers/localization.html) for more information about how Struts 2 handles message resources (it's pretty cool). -#### Login.action +### Login.action This is another wildcard mapping: