Nightly Builds

For developers who are helping to create and maintain the Apache Struts framework, the latest development build is made available each morning. Use at your own risk!

If you do not plan to contribute to the development of the framework, then you probably want to download a Release instead.

Be sure to check the Release Notes for a nightly build, so you have a better idea of what you are getting!

Test Builds

As we prepare for a new release, the project group may create interim test builds. When test builds are available, we post them here in binary, source and library distributions. Library distributions include any external dependencies needed to use a product with your application.

A test build is made available so that it can be reviewed for quality by the Apache Struts development group. When a build is judged "ready for prime time", it is promoted to "General Availability" status and may be made the "Best Available" release. If the group feels that a build requires more testing, then it may be marked as "Beta" release. When a test build is upgraded to "Beta" or "GA" by a vote of the project members, we make the distribution available as a formal Apache Release.

Maven Snapshots

When a distribution is first made available, it is rated as a development build or "snapshot". Later, the quality of the distribution may be upgraded to "Beta" or "General Availability", based on feedback from the community, and then made available through ibiblio and other public Maven repositories. To obtain an early distribution via Maven, specify the ASF Snapshot repository in the project's POM.

<repositories>
  <repository>
    <id>apache.snapshots</id>
    <name>ASF Maven 2 Snapshot</name>
    <url>http://people.apache.org/repo/m2-snapshot-repository</url>
  </repository>
</repositories>

Source Code

Access to the Apache Struts source repository is available through both web browser and Subversion client interfaces.

To download the trunk (HEAD revision) of all Struts subprojects, a convenience directory has been added, named current. The current directory uses a Subversion feature called externals which stores properties on the directory. With those properties, Subversion has all the information it needs to automaticaly download the head revision of all the Struts subprojects.

With the Subversion client installed, obtaining a working copy of the Struts codebase is as simple as

> svn checkout http://svn.apache.org/repos/asf/struts/current

While Externals work well in practice, there are caveats. For example, since all the subdirectories are still really different slices from the repository, relative paths might not work the way you expect. For more, see the Externals Definitions section of the Subversion Book.

To check out individual sub-projects from the Subversion repository, you can specify one of the following URLs:

  • http://svn.apache.org/repos/asf/struts/struts1/trunk
  • http://svn.apache.org/repos/asf/struts/struts2/trunk
  • http://svn.apache.org/repos/asf/struts/sandbox/trunk
  • http://svn.apache.org/repos/asf/struts/site
(Committers with write access should use the https protocol instead. See the ASF Source Code Repositories page for details.)

Warning: If you try to check out everything under 'struts', be aware that you will get not just the most recent code ('trunk'), but a copy of every tag and branch ever created for Struts. A complete checkout of Struts from day one, including all the branches, will take some time and might max out your disk volume!

For more about using version control systems at Apache, see the ASF's Source Code Repositories page. For more about how Apache Struts uses Subversion, see our Subversion wiki page.

Building Apache Struts

If you are building Apache Struts from source, we recommend that you install and use Apache Maven 2. During the build process, Maven will automatically acquire whatever external JARs your system may need. (Of course, you can still use your build system of choice to build your own applications!)

With Maven installed, building a Struts codebase is as simple as

/current/struts1/> mvn install

or

/current/struts2/> mvn install

Maven will automatically download any dependencies as needed.

For more about using Maven to build Struts 2, see Bulding the framework from source in the Struts 2 Contributors Guide.

For more about using Maven to build Struts 1, see our Maven wiki page.

Licensing of Apache Struts Builds

Apache Struts 2 source code and documentation is licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file included in any distribution for additional information regarding copyright ownership. The ASF licenses the source code and documentation files in our Apache Struts distribution to you under the Apache License, Version 2.0 (the "License"); you may not use the Apache Struts product except in compliance with the License.

You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.