Home > Guides > Contributors Guide > Building the Framework from Source |

Apache Struts 2 Documentation
Building the Framework from Source
Edit Page Browse Space Add Page Add News

## Why Build?

Most developers will never need to build the framework from source. The distribution package contains everything a developer needs to get started and become productive with the framework. For more on how to go to work with the distributed binaries right away, see Ready, Set, Go!. However, there are situations when someone will want to build the framework from scratch. You may want to try out new tweaks and patches, or you might want to try writing your own tweak or patch.

If you just want to use the latest development build, perhaps because a patch you need has been applied, you can also download a nightly build.

## Getting the Sources

The source code for the framework is available as a distribution you can download directly and from the source code repository.

### Distribution

The distributions of the framework contain all sources, as well as all needed libraries for building JARs and running. Distributions can be downloaded from the Apache Struts project.

### Repository (SVN)

Use Subversion to checkout the source code.

    > cd C:\projects\Apache\
    > git clone https://git-wip-us.apache.org/repos/asf/struts.git

## Building with Maven

The default build environment is Maven. To get started with Maven

- Download Maven 3
- Extract Maven 3 to a directory of your choice
  - (e.g. `\opt\Apache\Maven\maven-3.3.3`)
- Add the bin folder under that directory to your system path
  - (e.g. `PATH=%PATH%;C:\opt\Apache\Maven\maven-3.3.3`)

Change to your framework home directory (e.g. `C:\projects\Apache\struts`) and run

    > cd C:\projects\Apache\struts\
    > mvn clean install -Pall

That will take care of the basic maven build. There is a bunch more that you can do. Checkout out Building with Maven for more information.

NOTE: The above assumes that the Struts build depends on a version of XWork which is available from a Maven repository. If this is not the case (e.g. when Struts depends on an unreleased XWork snapshot), you will need to build XWork yourself, and install it into your local Maven repository, before attempting to build Struts itself. See Building with Maven for instructions on building XWork.

## JDK/JRE Compatibility

- The framework requires JDK 1.7 to build.

## Next: Building with Maven

Children Show Children Hide Children
$page.link($child) (Apache Struts 2 Documentation)