##### Struts 2

- Welcome
- Releases

##### Documentation

- Getting Started
- Tutorials
- FAQs
- Guides
- Release Notes

##### Support

- User Mailing List
- Issue Tracker (JIRA)
- Wiki Pages

##### Reference

- Struts Core / XWork APIs
- Tag Reference
- New API (experimental)
- Plugin Registry

##### Plugin API's

- Config Browser
- JasperReports
- JFreeChart
- JavaServer Faces
- Pell Multipart
- Plexus
- Sitegraph
- Sitemesh
- Struts 1
- Tiles

## Project Dependencies

### compile

The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:

GroupId | ArtifactId | Version | Classifier | Type | Optional
--- | --- | --- | --- | --- | ---
commons-logging | commons-logging | 1.0.4 | - | jar |
opensymphony | xwork | 2.0.1 | - | jar |
commons-fileupload | commons-fileupload | 1.1.1 | - | jar | (optional)
commons-lang | commons-lang | 2.1 | - | jar | (optional)
junit | junit | 3.8.1 | - | jar | (optional)
org.apache.pluto | pluto | 1.0.1-rc4 | - | jar | (optional)
org.apache.struts | struts-annotations | 1.0-SNAPSHOT | - | jar | (optional)
org.springframework | spring-mock | 1.2.8 | - | jar | (optional)
org.testng | testng | 5.1 | jdk15 | jar | (optional)
portlet-api | portlet-api | 1.0 | - | jar | (optional)
uk.ltd.getahead | dwr | 1.1-beta-3 | - | jar | (optional)
velocity | velocity | 1.4 | - | jar | (optional)
velocity-tools | velocity-tools | 1.1 | - | jar | (optional)

### test

The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:

GroupId | ArtifactId | Version | Classifier | Type | Optional
--- | --- | --- | --- | --- | ---
jmock | jmock | 1.0.1 | - | jar |
jmock | jmock-cglib | 1.0.1 | - | jar |
log4j | log4j | 1.2.9 | - | jar |
mockobjects | mockobjects-alt-jdk1.3 | 0.09 | - | jar |
mockobjects | mockobjects-alt-jdk1.3-j2ee1.3 | 0.09 | - | jar |
mockobjects | mockobjects-core | 0.09 | - | jar |
mockobjects | mockobjects-jdk1.3 | 0.09 | - | jar |
mockobjects | mockobjects-jdk1.3-j2ee1.3 | 0.09 | - | jar |
org.easymock | easymock | 2.0 | - | jar |
org.springframework | spring-core | 1.2.8 | - | jar |

### provided

The following is a list of provided dependencies for this project. These dependencies are required to compile the application, but should be provided by default when using the library:

GroupId | ArtifactId | Version | Classifier | Type | Optional
--- | --- | --- | --- | --- | ---
javax.servlet | jsp-api | 2.0 | - | jar |
javax.servlet | servlet-api | 2.4 | - | jar |

### system

The following is a list of system dependencies for this project. These dependencies are required to compile the application:

GroupId | ArtifactId | Version | Classifier | Type | Optional
--- | --- | --- | --- | --- | ---
com.sun | tools | 1.5.0 | - | jar |

## Project Transitive Dependencies

The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.

### compile

The following is a list of compile dependencies for this project. These dependencies are required to compile and run the application:

GroupId | ArtifactId | Version | Classifier | Type | Optional
--- | --- | --- | --- | --- | ---
freemarker | freemarker | 2.3.8 | - | jar |
opensymphony | ognl | 2.6.11 | - | jar |
commons-io | commons-io | 1.0 | - | jar | (optional)

### runtime

The following is a list of runtime dependencies for this project. These dependencies are required to run the application:

GroupId | ArtifactId | Version | Classifier | Type | Optional
--- | --- | --- | --- | --- | ---
velocity | velocity-dep | 1.4 | - | jar |

### test

The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:

GroupId | ArtifactId | Version | Classifier | Type | Optional
--- | --- | --- | --- | --- | ---
cglib | cglib-full | 2.0 | - | jar |
commons-collections | commons-collections | 3.1 | - | jar |

## Project Dependency Graph

### Dependency Tree

- org.apache.struts:struts2-core:jar
  - junit:junit:jar
  - org.easymock:easymock:jar
  - javax.servlet:servlet-api:jar
  - javax.servlet:jsp-api:jar
  - portlet-api:portlet-api:jar
  - velocity-tools:velocity-tools:jar
  - mockobjects:mockobjects-alt-jdk1.3:jar
  - jmock:jmock-cglib:jar
    - cglib:cglib-full:jar
  - mockobjects:mockobjects-jdk1.3:jar
  - mockobjects:mockobjects-jdk1.3-j2ee1.3:jar
  - commons-fileupload:commons-fileupload:jar
    - commons-io:commons-io:jar
  - commons-logging:commons-logging:jar
  - mockobjects:mockobjects-core:jar
  - org.springframework:spring-mock:jar
  - jmock:jmock:jar
  - org.testng:testng:jar:jdk15
  - uk.ltd.getahead:dwr:jar
  - org.springframework:spring-core:jar
    - commons-collections:commons-collections:jar
  - opensymphony:xwork:jar
    - opensymphony:ognl:jar
  - mockobjects:mockobjects-alt-jdk1.3-j2ee1.3:jar
  - org.apache.struts:struts-annotations:jar
    - freemarker:freemarker:jar
  - commons-lang:commons-lang:jar
  - log4j:log4j:jar
  - com.sun:tools:jar
  - velocity:velocity:jar
    - velocity:velocity-dep:jar
  - org.apache.pluto:pluto:jar

### Dependency Listings

Struts 2 Core

Apache Struts 2

http://struts.apache.org/struts2/struts2-core

Unnamed - junit:junit:jar:3.8.1

EasyMock 2.0

EasyMock provides Mock Objects for interfaces in JUnit tests by generating them on the fly using Java's proxy mechanism. Due to EasyMock's unique style of recording expectations, most refactorings will not affect the Mock Objects. So EasyMock is a perfect fit for Test-Driven Development.

http://www.easymock.org

Unnamed - javax.servlet:servlet-api:jar:2.4

Unnamed - javax.servlet:jsp-api:jar:2.0

Unnamed - portlet-api:portlet-api:jar:1.0

Unnamed - velocity-tools:velocity-tools:jar:1.1

Unnamed - mockobjects:mockobjects-alt-jdk1.3:jar:0.09

Unnamed - jmock:jmock-cglib:jar:1.0.1

Unnamed - cglib:cglib-full:jar:2.0

Unnamed - mockobjects:mockobjects-jdk1.3:jar:0.09

Unnamed - mockobjects:mockobjects-jdk1.3-j2ee1.3:jar:0.09

FileUpload

The FileUpload component provides a simple yet flexible means of adding support for multipart file upload functionality to servlets and web applications.

http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/

IO

Commons-IO contains utility classes, stream implementations, file filters, and endian classes.

http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/

Logging

Commons Logging is a thin adapter allowing configurable bridging to other, well known logging systems.

http://jakarta.apache.org/commons/logging/

Unnamed - mockobjects:mockobjects-core:jar:0.09

Spring Mock

Unnamed - jmock:jmock:jar:1.0.1

TestNG

TestNG is a unit testing framework.

http://testng.org

Direct Web Remoting

DWR is easy Ajax for Java.

http://getahead.ltd.uk/dwr/

Spring core

Unnamed - commons-collections:commons-collections:jar:3.1

Types that extend and augment the Java Collections Framework.

XWork

XWork is an command-pattern framework that is used to power WebWork as well as other applications. XWork provides an Inversion of Control container, a powerful expression language, data type conversion, validation, and pluggable configuration.

http://www.opensymphony.com/xwork/

OGNL - Object Graph Navigation Library

http://ognl.org

Unnamed - mockobjects:mockobjects-alt-jdk1.3-j2ee1.3:jar:0.09

Struts Annotations

struts-annotations adds apt generation support for struts based annotated projetcs, such as TLD and documentation generation from annotated component classes as used in struts2

http://struts.apache.org

Unnamed - freemarker:freemarker:jar:2.3.8

FreeMarker is a "template engine"; a generic tool to generate text output based on templates.

http://freemarker.org/

Lang

Commons.Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang.

http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/

Unnamed - log4j:log4j:jar:1.2.9

com.sun:tools:jar

C:\Program Files (x86)\Java\jdk1.5.0_08\jre\..\lib\tools.jar

Velocity

Velocity is a Java-based template engine. It permits anyone to use the simple yet powerful template language to reference objects defined in Java code.

http://jakarta.apache.org/velocity/

Velocity

Velocity is a Java-based template engine. It permits anyone to use the simple yet powerful template language to reference objects defined in Java code.

http://jakarta.apache.org/velocity/

Unnamed - org.apache.pluto:pluto:jar:1.0.1-rc4