<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia 
 | Rendered using Apache Maven Fluido Skin 1.3.1
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="author" content="Brett Porter" />
    <meta name="Date-Revision-yyyymmdd" content="20150226" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Archiva - 
    The Build Artifact Repository Manager</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.1.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />

      
    <script type="text/javascript" src="./js/apache-maven-fluido-1.3.1.min.js"></script>

                          
        
<script type="text/javascript">var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
        document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script>
                      
        
<script type="text/javascript">var pageTracker = _gat._getTracker("UA-140879-5");
        pageTracker._initData();
        pageTracker._trackPageview();</script>
          
    <!-- move js and css to head --><link rel="stylesheet" href="css/jquery.fancybox.2.1.5.css" type="text/css" media="screen" /><script src="js/index.js" type="text/javascript"></script><script src="js/fancybox.js" type="text/javascript"></script><script src="js/jquery.fancybox.pack.2.1.5.js" type="text/javascript"></script><script src="js/jquery.mousewheel-3.0.6.pack.js" type="text/javascript"></script>              </head>
        <body class="topBarEnabled">
          
                        
                    
                

    <div id="topbar" class="navbar navbar-fixed-top ">
      <div class="navbar-inner">
                                  <div class="container"><div class="nav-collapse">
            
                
                                <ul class="nav">
                          <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Introduction <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li>      <a href="index.html"  title="About">About</a>
</li>
                  
                      <li>      <a href="download.html"  title="Downloads">Downloads</a>
</li>
                  
                      <li>      <a href="versions.html"  title="Versions">Versions</a>
</li>
                  
                      <li>      <a href="mail-lists.html"  title="Mailing Lists">Mailing Lists</a>
</li>
                  
                      <li>      <a href="security.html"  title="Security">Security</a>
</li>
                  
                      <li class="dropdown-submenu">
                                      <a href=""  title="Documentation">Documentation</a>
              <ul class="dropdown-menu">
                                  <li>      <a href="docs/2.1.1/"  title="Release 2.1.1">Release 2.1.1</a>
</li>
                                  <li>      <a href="docs/1.3.9/"  title="Preview 1.3.9">Preview 1.3.9</a>
</li>
                                  <li>      <a href="docs/2.2.0-SNAPSHOT/"  title="Dev 2.2.0-SNAPSHOT">Dev 2.2.0-SNAPSHOT</a>
</li>
                              </ul>
            </li>
                          </ul>
      </li>
                <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Development <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li>      <a href="developers/building.html"  title="Build Apache Archiva">Build Apache Archiva</a>
</li>
                  
                      <li>      <a href="get-involved.html"  title="Get involved">Get involved</a>
</li>
                  
                      <li>      <a href="developers/how-we-do-things.html"  title="How we do things">How we do things</a>
</li>
                  
                      <li>      <a href="redback"  title="Redback">Redback</a>
</li>
                  
                      <li>      <a href="redback/components"  title="Redback Components">Redback Components</a>
</li>
                  
                      <li class="dropdown-submenu">
                                      <a href="jsui/index.html"  title="Javascript application Architecture">Javascript application Architecture</a>
              <ul class="dropdown-menu">
                                  <li>      <a href="jsui/rest.html"  title="Rest service">Rest service</a>
</li>
                                  <li>      <a href="jsui/template-loading.html"  title="JS Template loading">JS Template loading</a>
</li>
                                  <li>      <a href="jsui/i18n.html"  title="i18n">i18n</a>
</li>
                                  <li>      <a href="jsui/knockout-binding.html"  title="Knockout Binding">Knockout Binding</a>
</li>
                                  <li>      <a href="jsui/generics-js.html"  title="Generic Javascipts">Generic Javascipts</a>
</li>
                              </ul>
            </li>
                  
                      <li>      <a href="developers/releasing.html"  title="Releasing">Releasing</a>
</li>
                  
                      <li>      <a href="developers/publishing-site.html"  title="Site Publish">Site Publish</a>
</li>
                          </ul>
      </li>
                <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li>      <a href="http://www.apache.org/foundation/how-it-works.html"  title="How Apache Works">How Apache Works</a>
</li>
                  
                      <li>      <a href="http://www.apache.org/foundation/"  title="Foundation">Foundation</a>
</li>
                  
                      <li>      <a href="http://www.apache.org/foundation/sponsorship.html"  title="Sponsoring Apache">Sponsoring Apache</a>
</li>
                  
                      <li>      <a href="http://www.apache.org/foundation/thanks.html"  title="Thanks">Thanks</a>
</li>
                          </ul>
      </li>
                <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Documentation <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li class="dropdown-submenu">
                                      <a href="project-info.html"  title="Project Information">Project Information</a>
              <ul class="dropdown-menu">
                                  <li>      <a href="integration.html"  title="Continuous Integration">Continuous Integration</a>
</li>
                                  <li>      <a href="mail-lists.html"  title="Mailing Lists">Mailing Lists</a>
</li>
                                  <li>      <a href="issue-tracking.html"  title="Issue Tracking">Issue Tracking</a>
</li>
                                  <li>      <a href="license.html"  title="Project License">Project License</a>
</li>
                                  <li>      <a href="team-list.html"  title="Project Team">Project Team</a>
</li>
                                  <li>      <a href="source-repository.html"  title="Source Repository">Source Repository</a>
</li>
                              </ul>
            </li>
                          </ul>
      </li>
                  </ul>
          
                      <form id="search-form" action="http://www.google.com/search" method="get"  class="navbar-search pull-right" >
    
  <input value="http://archiva.apache.org/" name="sitesearch" type="hidden"/>
  <input class="search-query" name="q" id="query" type="text" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=search-form"></script>
          
                                                                            
                   
                      </div>
          
        </div>
      </div>
    </div>
    
        <div class="container">
          <div id="banner">
        <div class="pull-left">
                                                  <a href="index.html" id="bannerLeft">
                                                                                                <img src="images/archiva.png"  alt="Apache Archiva"/>
                </a>
                      </div>
        <div class="pull-right">                  <a href="http://www.apache.org/" id="bannerRight">
                                                                                        <img src="http://www.apache.org/images/asf_logo_wide.png"  alt="Apache Software Foundation"/>
                </a>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
                
                    
                              <li class="">
                    <a href="http://www.apache.org/" class="externalLink" title="Apache">
        Apache</a>
                    <span class="divider">/</span>
      </li>
                <li class="">
                    <a href="./" title="Archiva">
        Archiva</a>
                    <span class="divider">/</span>
      </li>
        <li class="active ">
    The Build Artifact Repository Manager</li>
        
                
                    
                  <li id="publishDate" class="pull-right">Last Published: 26 Feb 2015</li>
            
                            </ul>
      </div>

      
                
        <div id="bodyColumn" >
                                  
            <!-- ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file 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. -->
  
    
<div class="row-fluid">
      
<div class="span8">
        
<div class="newsBox">
          
<div class="hero-unit">
            <span class="bignumber badge badge-warning">NEW</span>
            
<p><b>Our code source is now using git, so you can propose pull requests using <a class="externalLink" href="https://github.com/apache/archiva">github mirror</a></b></p>
            
<p><b>4th September 2014 release of 2.1.1 See <a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/tour/index.html">Quick Tour</a></b></p>
          </div>
        </div>
      </div>
    </div>


    
<div id="carousel-main">

        
<div id="screenshots-carousel" class="carousel slide span10">
          <!-- Carousel items -->
          
<div class="carousel-inner">
            
<div class="item active">
              <img src="http://archiva.apache.org/docs/2.1.1/images/ldap-configuration.png" alt="" height="120px" />
              
<div class="carousel-caption">
                
<p>Dynamic LDAP Configuration.</p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/adminguide/redback-runtime-configuration.html">View all.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="http://archiva.apache.org/docs/2.1.1/images/ldap-group-roles-mapping.png" alt="" />
              
<div class="carousel-caption">
                
<p>Dynamic LDAP Group-Roles mapping Configuration.</p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/adminguide/redback-runtime-configuration.html">View all.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="http://archiva.apache.org/docs/2.1.1/images/tour/project-info.png" alt="" />
              
<div class="carousel-caption">
                
<p>Informative display for artifacts stored in the repository.</p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="http://archiva.apache.org/docs/2.1.1/images/tour/search-form.png" alt="" />
              
<div class="carousel-caption">
                
<p>User-friendly browsing interface, and powerful search functionalities.</p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="http://archiva.apache.org/docs/2.1.1/images/tour/search-results.png" alt="" />
              
<div class="carousel-caption">
                
<p>Filterable search results.</p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="http://archiva.apache.org/docs/2.1.1/images/tour/browse.png" alt="" />
              
<div class="carousel-caption">
                
<p>Browse interface.</p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/index.html">View new documentation.</a></p>
              </div>
            </div>


            
<div class="item">
              <img src="http://archiva.apache.org/docs/2.1.1/images/tour/remote-proxy-cache.png" alt="" />
              
<div class="carousel-caption">
                
<p>Drag &amp; drop remote proxies ordering.</p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="http://archiva.apache.org/docs/2.1.1/images/tour/upload-files.png" alt="" />
              
<div class="carousel-caption">
                
<p>Drag &amp; drop upload artifacts via UI.</p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="http://archiva.apache.org/docs/2.1.1/images/tour/graphical-admin.png" alt="" />
              
<div class="carousel-caption">
                
<p>Comprehensive web-based administration interface.</p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="http://archiva.apache.org/docs/2.1.1/images/proxy-connectors-rules.png" alt="" />
              
<div class="carousel-caption">
                
<p>Bulk update of your black/while list when fetching remote repositories.</p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="http://archiva.apache.org/docs/2.1.1/index.html">View new documentation.</a></p>
              </div>
            </div>

          </div>

          <!-- Carousel nav -->
          <a name="carousel-prev" class="left carousel-control" id="carousel-prev">&#x2039;</a>
          <a name="carousel-next" class="right carousel-control" id="carousel-next">&#x203a;</a>
        </div>
    </div>
    
<div class="section">
<h2>Apache Archiva&#x99;: The Build Artifact Repository Manager<a name="Apache_Archiva:_The_Build_Artifact_Repository_Manager"></a></h2>
      
<p>
         Apache Archiva&#x99; is an extensible repository management software that
         helps taking care of your own personal or enterprise-wide build 
         artifact repository. It is the perfect companion for build tools such 
         as <a class="externalLink" href="http://maven.apache.org">Maven</a>,
         <a class="externalLink" href="http://continuum.apache.org/">Continuum</a>,
         and <a class="externalLink" href="http://ant.apache.org/">ANT</a>. 
      </p>
 
      
<p>
         Archiva offers several capabilities, amongst which remote repository proxying, 
         security access management, build artifact storage, delivery, browsing, indexing 
         and usage reporting, extensible scanning functionality&#x85; and many more! Get the
         latest updates, follow us on twitter <a class="externalLink" href="http://twitter.com/archiva">@archiva</a>.
      </p>

      
<p>
        And in case you were wondering, it is pronounced <i>ahr-kahy-vuh</i>, like <i>archive</i> but with an <i>a</i>!
      </p>

      
<div class="mainBox">
        
<div class="hero-unit">
          <span class="bignumber badge badge-warning">1</span>

          
<p>
            <a href="docs/2.1.1/tour/index.html">Take a look around</a>
          </p>
          
<p>
            <!-- Commenting out while we still don't have a live demo  
            Try out the live demo, or take a look at the screenshots in the feature walkthrough. -->
            Take a look at the screenshots in the feature walkthrough.
          </p>
          <br style="clear: left" />
        </div>
      </div>
      
<div class="mainBox">
        
<div class="hero-unit">
          <span class="bignumber badge badge-warning">2</span>

          
<p>
            <a href="download.html">Download Archiva</a>
          </p>
          
<p>
            <span class="expand" style="width: 200px; display: block; float: left;">
              <img src="images/collapsed.gif" width="7" height="7" alt="" />
              <b>Latest stable release:</b>
            </span>
            <span class="button mainalign">
              <a href="#a" class="btn btn-primary btn-medium" style="margin-bottom: 5px;" id="openDialogRelease">Get Archiva 2.1.1 <span style="font-size:smaller;color:#F89406">4th September 2014</span>
              </a>
            </span>
            <br />
                        <span class="expand" style="width: 200px; display: block; float: left;">
              <img src="images/collapsed.gif" width="7" height="7" alt="" />
              <b>Previous release:</b>
            </span>
            <span class="button mainalign">
              <a href="#a" class="btn btn-primary btn-medium" style="margin-bottom: 5px;" id="openDialogPreview">Get Archiva 1.3.9 <span style="font-size:smaller;color:#F89406">1 July 2014</span>
              </a>
            </span>
            <br />
                        <span class="expand">
              <img src="images/collapsed.gif" width="7" height="7" alt="" />
              <a href="download.html"><b>All downloads</b></a>
            </span>
          </p>
        </div>
      </div>

      
<div class="mainBox">
        
<div class="hero-unit">
          <span class="bignumber badge badge-warning">3</span>

          
<p>
            <a href="docs/2.1.1/index.html">Documentation</a>
          </p>
          
<p>
            <img src="images/collapsed.gif" width="7" height="7" alt="" />
            Simple out of the box configuration and <a href="docs/2.1.1/quick-start.html">quick start guide</a>
            <br />
            <img src="images/collapsed.gif" width="7" height="7" alt="" />
            Read the <a href="docs/2.1.1/userguide/index.html">users guide</a> and <a href="docs/2.1.1/adminguide/index.html">administration documentation</a>
            <br />
            <img src="images/collapsed.gif" width="7" height="7" alt="" />
            For security issues, read the <a href="security.html">security vulnerabilities document</a>
            <br />
            <img src="images/collapsed.gif" width="7" height="7" alt="" />
            Documentation is also available for <a href="versions.html">previous versions</a>
          </p>
        </div>
      </div>
      
<div class="mainBox">
        
<div class="hero-unit">
          <span class="bignumber badge badge-warning">4</span>

          
<p>
            <a href="get-involved.html">Get involved</a>
          </p>
          
<p>
            Get support from the <a href="mail-lists.html">mailing lists</a> and <a class="externalLink" href="http://cwiki.apache.org/confluence/display/ARCHIVA/">wiki</a>, file <a href="issue-tracking.html">issues</a>, and even <a href="get-involved.html">get involved</a> in the development.
          </p>
          <br style="clear: left" />
        </div>
      </div>

      
<div>
        
<div class="section">
<h2>Videos<a name="Videos"></a></h2>
        
<div class="section">
<div class="section">
<h4>Quick start<a name="Quick_start"></a></h4>
        
<p align="center">
          <iframe width="420" height="315" src="http://www.youtube.com/embed/kG349qooN8E" frameborder="0" allowfullscreen=""></iframe>
        </p>
        </div>
<div class="section">
<h4>Browsing/Uploading/Searching<a name="BrowsingUploadingSearching"></a></h4>
        
<p align="center">
          <iframe width="420" height="315" src="http://www.youtube.com/embed/y4DoLCfYR-A" frameborder="0" allowfullscreen=""></iframe>
        </p>
      </div>

    </div></div></div>

    
<div class="section">
<h2>License<a name="License"></a></h2>
      
<p>
        Archiva is distributed under the <a class="externalLink" href="http://www.apache.org/licenses/">Apache License, version 2.0</a>
      </p>
    </div>
    
<div class="section">
<h2>Thanks<a name="Thanks"></a></h2>
      
<p>
        We would like to thank all the <a class="externalLink" href="http://www.apache.org/foundation/thanks.html">sponsors that provide financial assistance to the Apache Software Foundation</a>.
        For more information on how you can support the foundation, see the <a class="externalLink" href="http://www.apache.org/foundation/sponsorship.html">sponsorship</a> page.
      </p>
    </div>

    
<div class="section">
<h2>Resources<a name="Resources"></a></h2>
      
<p>
        Need more? Try some of these resources.
      </p>
      
<div>
        
<div class="section">
<h3>Books<a name="Books"></a></h3>
        
<div style="margin-left: auto; margin-right: auto; text-align: center">
          
<div style="float: left; width: 50%;">
            
<p>
              <a class="externalLink" href="http://www.packtpub.com/apache-maven-2-effective-implementations/book"><img src="images/books/apache_maven_2_effective_implementation.jpg" alt="" /></a><br />
              <a class="externalLink" href="http://www.packtpub.com/apache-maven-2-effective-implementations/book">Apache Maven 2: Effective Implementation</a> (Maria Odea Ching, Brett Porter; September 2009)<br />
              <span style="font-size: 0.8em">
                Build and manage applications with Maven, Continuum and Archiva
              </span>
            </p>
          </div>
          
<div style="float: left; width: 50%;">
            
<p>
              <a class="externalLink" href="http://www.wakaleo.com/java-power-tools"><img src="images/books/java_power_tools.gif" alt="" /></a><br />
              <a class="externalLink" href="http://www.wakaleo.com/java-power-tools">Java Power Tools</a> (John Smart; April 2008)<br />
              <span style="font-size: 0.8em">
                Contains a section on Archiva and repository management
              </span>
            </p>
          </div>
        </div>
      </div>
      
<div style="clear: left">
        </div>
<div class="section">
<h3>Articles, Presentations and Tutorials<a name="Articles_Presentations_and_Tutorials"></a></h3>
        
<ul>
          
<li>
            <a class="externalLink" href="http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=archiva">Archiva 1.1.1 Tutorial in Spanish!</a> - Video also available <a class="externalLink" href="http://www.adictosaltrabajo.com/detalle-noticia.php?noticia=61">here</a> - (&#xc1;ngel Garc&#xed;a Jerez; September 2008)
          </li>
        </ul>
      </div>
    </div></div>

      
<div id="dialogRelease" class="modal hide fade">
        
<div class="modal-header">
          <button type="button" class="close" data-dismiss="modal" aria-hidden="true">[&#xd7;]</button>
          
<h1>Archiva 2.1.1</h1>
        </div>
        
<div class="modal-body">
          
<p>
          This is the recommended latest release of Archiva.
          </p>
          
<table border="0" class="table table-striped">
            
<tr class="a">
              
<th> </th>
              
<th>Mirrors</th>
              
<th>Checksum</th>
              
<th>Signature</th>
            </tr>
            
<tr class="b">
              
<td>Archiva 2.1.1 Standalone</td>
              
<td><a href="[preferred]archiva/2.1.1/binaries/apache-archiva-2.1.1-bin.zip">zip</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/2.1.1/binaries/apache-archiva-2.1.1-bin.zip.md5">md5</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/2.1.1/binaries/apache-archiva-2.1.1-bin.zip.asc">asc</a></td>
            </tr>
            
<tr class="a">
              
<td>Archiva 2.1.1 WAR</td>
              
<td><a href="[preferred]archiva/2.1.1/binaries/apache-archiva-2.1.1.war">war</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/2.1.1/binaries/apache-archiva-2.1.1.war.md5">md5</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/2.1.1/binaries/apache-archiva-2.1.1.war.asc">asc</a></td>
            </tr>
          </table>

        </div>
        
<div class="modal-footer">
          
<div class="row">
            
<div class="pull-rigth">
              <a href="docs/2.1.1/release-notes.html">Release Notes</a> | <a href="download.html">More downloads or change mirror.</a>
            </div>
            <!-- add mirror change option -->
            <!-- div>
              <form action="[location]" method="get" id="SelectMirror" class="form-inline">
                Other mirrors:
                <select name="Preferred">
                  [if-any http]
                  [for http]
                  <option value="[http]">[http]</option>
                  [end]
                  [end]
                  [if-any ftp]
                  [for ftp]
                  <option value="[ftp]">[ftp]</option>
                  [end]
                  [end]
                  [if-any backup]
                  [for backup]
                  <option value="[backup]">[backup] (backup)</option>
                  [end]
                  [end]
                </select>
                <input type="submit" value="Change" class="btn"/>
              </form>
            </div -->
          </div>
        </div>
      </div>
      
<div id="dialogPreview" class="modal hide fade">
        
<div class="modal-header">
          <button type="button" class="close" data-dismiss="modal" aria-hidden="true">[&#xd7;]</button>
          
<h1>Archiva 1.3.9</h1>
        </div>
        
<div class="modal-body">
          
<p>This is the last release of the previous Archiva development series.</p>
          
<table border="0" class="table table-striped">
            
<tr class="a">
              
<th> </th>
              
<th>Mirrors</th>
              
<th>Checksum</th>
              
<th>Signature</th>
            </tr>
            
<tr class="b">
              
<td>Archiva 1.3.9 Standalone</td>
              
<td><a href="[preferred]archiva/1.3.9/binaries/apache-archiva-1.3.9.1-bin.zip">zip</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/1.3.9/binaries/apache-archiva-1.3.9.1-bin.zip.md5">md5</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/1.3.9/binaries/apache-archiva-1.3.9.1-bin.zip.asc">asc</a></td>
            </tr>
            
<tr class="a">
              
<td>Archiva 1.3.9 WAR</td>
              
<td><a href="[preferred]archiva/1.3.9/binaries/apache-archiva-1.3.9.war">war</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/1.3.9/binaries/apache-archiva-1.3.9.war.md5">md5</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/1.3.9/binaries/apache-archiva-1.3.9.war.asc">asc</a></td>
            </tr>
          </table>
        </div>
        
<div class="modal-footer">
          
<p><a href="docs/1.3.9/release-notes.html">Release Notes</a> | <a href="download.html">More downloads or change mirror.</a></p>
        </div>
      </div>

  

                  </div>
          </div>

    <hr/>

    <footer>
            <div class="container">
                      <div class="row">
                              <p >Copyright &copy;                    2006&#x2013;2015
                        <a href="http://archiva.apache.org/">The Apache Software Foundation</a>.
            All rights reserved.      
                    
      </p>
        </div>

                                                                  
<div class="row pull-left">Apache Archiva, Archiva, Apache, the Apache feather logo, and the Apache Archiva project logos are trademarks of The Apache Software Foundation.</div>
                                                          
<div class="row pull-left">
  <a href="http://archiva.apache.org/privacy-policy.html">Privacy Policy</a>
</div>
                  
                <p id="poweredBy" class="pull-right">
                          <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
              </p>
        
          
    
    
                
    <div id="ohloh" class="pull-right">
      <script type="text/javascript" src="http://www.ohloh.net/p/6670/widgets/project_basic_stats.js"></script>
    </div>
        </div>
    </footer>
        </body>
</html>