As a convenience to developers who are helping to create and maintain the Apache Struts framework, public access to the live source code repository is available. This is our one-and-only development repository. Accordingly, the source may not always compile or be in a release-ready state. Access at your own risk!
NOTE: The full source code is provided with each release. If you simply want to build your own copy of the product, use the source code provided with an approved release, rather than the development head.
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:
(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!
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 1, see our Maven wiki page.
As part of our continuous integration practice, we also make available each morning the latest stable development build. Again: 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.
NOTE: The Struts 2 nightly build is not fully operational. We suggest that contributors checkout the source code instead.
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 release.
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>https://repository.apache.org/content/groups/snapshots-group/</url> </repository> </repositories>
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.
Next: Release Guidelines