blob: 73c19b5c87016e9aa5568bda73d98d1655f9bd42 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="Date-Revision-yyyymmdd" content="20140918"/>
<meta http-equiv="Content-Language" content="en"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Source Code and Builds</title>
<link href="//,400,600,700,400italic,600italic,700italic" rel="stylesheet" type="text/css">
<link href="//" rel="stylesheet">
<link href="/css/main.css" rel="stylesheet">
<link href="/css/custom.css" rel="stylesheet">
<link href="/highlighter/github-theme.css" rel="stylesheet">
<script src="//"></script>
<script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
<script type="text/javascript" src="/js/community.js"></script>
<a href="" class="github-ribbon">
<img style="position: absolute; right: 0; border: 0;" src="" alt="Fork me on GitHub">
<div role="navigation" class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" data-toggle="collapse" data-target="#struts-menu" class="navbar-toggle">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<a href="/index.html" class="navbar-brand logo"><img src="/img/struts-logo.svg"></a>
<div id="struts-menu" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="dropdown">
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
Home<b class="caret"></b>
<ul class="dropdown-menu">
<li><a href="/index.html">Welcome</a></li>
<li><a href="/download.cgi">Download</a></li>
<li><a href="/releases.html">Releases</a></li>
<li><a href="/announce-2021.html">Announcements</a></li>
<li><a href="">License</a></li>
<li><a href="">Thanks!</a></li>
<li><a href="">Sponsorship</a></li>
<li class="dropdown">
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
Support<b class="caret"></b>
<ul class="dropdown-menu">
<li><a href="/mail.html">User Mailing List</a></li>
<li><a href="">Issue Tracker</a></li>
<li><a href="/security.html">Reporting Security Issues</a></li>
<li class="divider"></li>
<li><a href="">Version Notes</a></li>
<li><a href="">Security Bulletins</a></li>
<li class="divider"></li>
<li><a href="/maven/project-info.html">Maven Project Info</a></li>
<li><a href="/maven/struts2-core/dependencies.html">Struts Core Dependencies</a></li>
<li><a href="/maven/struts2-plugins/modules.html">Plugin Dependencies</a></li>
<li class="dropdown">
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
Documentation<b class="caret"></b>
<ul class="dropdown-menu">
<li><a href="/birdseye.html">Birds Eye</a></li>
<li><a href="/primer.html">Key Technologies</a></li>
<li><a href="/kickstart.html">Kickstart FAQ</a></li>
<li><a href="">Wiki</a></li>
<li class="divider"></li>
<li><a href="/getting-started/">Getting Started</a></li>
<li><a href="/security/">Security Guide</a></li>
<li><a href="/core-developers/">Core Developers Guide</a></li>
<li><a href="/tag-developers/">Tag Developers Guide</a></li>
<li><a href="/maven-archetypes/">Maven Archetypes</a></li>
<li><a href="/plugins/">Plugins</a></li>
<li><a href="/maven/struts2-core/apidocs/index.html">Struts Core API</a></li>
<li><a href="/tag-developers/tag-reference.html">Tag reference</a></li>
<li><a href="">FAQs</a></li>
<li><a href="">Plugin registry</a></li>
<li class="dropdown">
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
Contributing<b class="caret"></b>
<ul class="dropdown-menu">
<li><a href="/youatstruts.html">You at Struts</a></li>
<li><a href="/helping.html">How to Help FAQ</a></li>
<li><a href="/dev-mail.html">Development Lists</a></li>
<li><a href="/contributors/">Contributors Guide</a></li>
<li class="divider"></li>
<li><a href="/submitting-patches.html">Submitting patches</a></li>
<li><a href="/builds.html">Source Code and Builds</a></li>
<li><a href="/coding-standards.html">Coding standards</a></li>
<li><a href="">Contributors Guide</a></li>
<li class="divider"></li>
<li><a href="/release-guidelines.html">Release Guidelines</a></li>
<li><a href="/bylaws.html">PMC Charter</a></li>
<li><a href="/volunteers.html">Volunteers</a></li>
<li><a href="">Source Repository</a></li>
<li><a href="/updating-website.html">Updating the website</a></li>
<li class="apache"><a href=""><img src="/img/apache.png"></a></li>
<article class="container">
<section class="col-md-12">
<a class="edit-on-gh" href="" title="Edit this page on GitHub">Edit on GitHub</a>
<h1 class="no_toc" id="source-code-and-builds">Source Code and Builds</h1>
<ul id="markdown-toc">
<li><a href="#building-apache-struts" id="markdown-toc-building-apache-struts">Building Apache Struts</a></li>
<li><a href="#nightly-builds" id="markdown-toc-nightly-builds">Nightly Builds</a></li>
<li><a href="#test-builds" id="markdown-toc-test-builds">Test Builds</a></li>
<li><a href="#maven-snapshots" id="markdown-toc-maven-snapshots">Maven Snapshots</a></li>
<li><a href="#licensing-of-apache-struts-builds" id="markdown-toc-licensing-of-apache-struts-builds">Licensing of Apache Struts Builds</a></li>
<p>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.</p>
<p><em>Access at your own risk!</em></p>
<p>NOTE: The full source code is provided with each <a href="/download.cgi">release</a>. 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.</p>
<p>Read-only access to the Apache Struts source repository is available through both
<a href=";a=summary">web browser</a> and
<a href="">Git client</a> interfaces.</p>
<p>With the <a href="">Git client</a> installed, obtaining a working copy of the Struts codebase is as simple as</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&gt; git clone
<p>or from GitHub</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&gt; git clone
<p>For more about using version control systems at Apache, see the ASF’s
<a href="">Source Code Repositories</a> page.</p>
<h2 id="building-apache-struts">Building Apache Struts</h2>
<p>If you are building Apache Struts from source, we recommend that you install and use
<a href="">Apache Maven 3.</a> 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!)</p>
<p>With Maven installed, building a Struts codebase is as simple as</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&gt; mvn install
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&gt; mvn -DskipAssembly=true install
<p>Maven will automatically download any dependencies as needed.</p>
<p>For more about using Maven to build Struts 2, see
<a href="/docs/building-the-framework-from-source.html">Building the framework from source</a> in the
<a href="/docs/contributors-guide.html">Struts 2 Contributors Guide.</a></p>
<p>For more about using Maven to build Struts 1, see our <a href="">Maven wiki page.</a></p>
<h2 id="nightly-builds">Nightly Builds</h2>
<p>As part of our continuous integration practice, we also make available each morning the
<a href="">latest stable development build.</a></p>
<p><em>Again: Use at your own risk!</em></p>
<p>If you do <strong>not</strong> plan to contribute to the development of the framework, then you probably want to download a
<a href="releases.html">release</a></p>
<p>NOTE: The Struts 2 nightly build is not fully operational. We suggest that contributors checkout
the <a href="#SourceCode">source code</a> instead.</p>
<h2 id="test-builds">Test Builds</h2>
<p>As we prepare for a new release, the project group may create interim <em>test builds</em>. When test builds are available,
we post them <a href="">here</a> in binary, source and library distributions.
Library distributions include any external dependencies needed to use a product with your application.</p>
<p>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 <a href="releases.html">release</a>.</p>
<h2 id="maven-snapshots">Maven Snapshots</h2>
<p>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.</p>
<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;repositories&gt;</span>
<span class="nt">&lt;repository&gt;</span>
<span class="nt">&lt;id&gt;</span>apache.snapshots<span class="nt">&lt;/id&gt;</span>
<span class="nt">&lt;name&gt;</span>ASF Maven 2 Snapshot<span class="nt">&lt;/name&gt;</span>
<span class="nt">&lt;url&gt;</span><span class="nt">&lt;/url&gt;</span>
<span class="nt">&lt;/repository&gt;</span>
<span class="nt">&lt;/repositories&gt;</span>
<h2 id="licensing-of-apache-struts-builds">Licensing of Apache Struts Builds</h2>
<p>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.</p>
<p>You may obtain a copy of the License at []</p>
<p>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.</p>
<p>Next: <a href="release-guidelines.html">Release Guidelines</a></p>
<footer class="container">
<div class="col-md-12">
Copyright &copy; 2000-2018 <a href="">The Apache Software Foundation </a>.
All Rights Reserved.
<div class="col-md-12">
Apache Struts, Struts, Apache, the Apache feather logo, and the Apache Struts project logos are
trademarks of The Apache Software Foundation.
<div class="col-md-12">Logo and website design donated by <a href="">SoftwareMill</a>.</div>
<script>!function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (!d.getElementById(id)) {
js = d.createElement(s); = id;
js.src = "//";
fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "twitter-wjs");</script>
<script src="" async="async" defer="defer"></script>
<div id="fb-root"></div>
<script>(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); = id;
js.src = "//";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>