<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.7.4 
 | Rendered using Apache Maven Fluido Skin 1.6
-->
<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 http-equiv="Content-Language" content="en" />
    <title>Archiva &#x2013; The Build Artifact Repository Manager</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.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.6.min.js"></script>
<!-- Google Analytics -->
        <script src='//www.google-analytics.com/analytics.js'></script>
        <script>
          window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;

          ga('create', 'UA-140879-5', 'auto');
          ga('send', 'pageview');

        </script>
<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">
                      <a href="https://github.com/apache/archiva">
      <img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
        src="https://s3.amazonaws.com/github/ribbons/forkme_right_gray_6d6d6d.png"
        alt="Fork me on GitHub">
    </a>
      <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.2.3/" title="Release 2.2.3">Release 2.2.3</a></li>
                  <li><a href="docs/3.0.0-SNAPSHOT/" title="Dev 3.0.0-SNAPSHOT">Dev 3.0.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="CI Management">CI Management</a></li>
                  <li><a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a></li>
                  <li><a href="issue-tracking.html" title="Issue Management">Issue Management</a></li>
                  <li><a href="license.html" title="Licenses">Licenses</a></li>
                  <li><a href="team-list.html" title="Team">Team</a></li>
                  <li><a href="source-repository.html" title="Source Code Management">Source Code Management</a></li>
              </ul>
            </li>
        </ul>
      </li>
              </ul>
<form id="search-form" action="https://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">asyncJs( 'https://cse.google.com/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="https://www.apache.org/images/asf_logo_wide_2016.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="index.html" 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: 07 Apr 2018</li>
        </ul>
      </div>
        <div id="bodyColumn" >

  
    
<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>16th May 2017 release of 2.2.3 See <a class="externalLink" href="http://archiva.apache.org/docs/2.2.3/tour/index.html">Quick Tour</a></b></p>
          </div>
        </div>
      </div>
    </div>


    
<div id="carousel-main">

        
<div id="screenshots-carousel" class="carousel slide span10">
          
          
<div class="carousel-inner">
            
<div class="item active">
              <img src="https://archiva.apache.org/docs/2.2.3/images/ldap-configuration.png" alt="" height="120px" />
              
<div class="carousel-caption">
                
<p>Dynamic LDAP Configuration.</p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/adminguide/redback-runtime-configuration.html">View all.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.3/images/ldap-group-roles-mapping.png" alt="" />
              
<div class="carousel-caption">
                
<p>Dynamic LDAP Group-Roles mapping Configuration.</p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/adminguide/redback-runtime-configuration.html">View all.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.3/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="https://archiva.apache.org/docs/2.2.3/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.3/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="https://archiva.apache.org/docs/2.2.3/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.3/images/tour/search-results.png" alt="" />
              
<div class="carousel-caption">
                
<p>Filterable search results.</p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.3/images/tour/browse.png" alt="" />
              
<div class="carousel-caption">
                
<p>Browse interface.</p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/index.html">View new documentation.</a></p>
              </div>
            </div>


            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.3/images/tour/remote-proxy-cache.png" alt="" />
              
<div class="carousel-caption">
                
<p>Drag &amp; drop remote proxies ordering.</p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.3/images/tour/upload-files.png" alt="" />
              
<div class="carousel-caption">
                
<p>Drag &amp; drop upload artifacts via UI.</p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.3/images/tour/graphical-admin.png" alt="" />
              
<div class="carousel-caption">
                
<p>Comprehensive web-based administration interface.</p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.3/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="https://archiva.apache.org/docs/2.2.3/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.3/index.html">View new documentation.</a></p>
              </div>
            </div>

          </div>

          
          <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><a name="Apache_Archiva:_The_Build_Artifact_Repository_Manager"></a>Apache Archiva&#x99;: The Build Artifact Repository Manager</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.2.3/tour/index.html">Take a look around</a>
          </p>
          
<p>
            
            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.2.3 <span style="font-size:smaller;color:#F89406">16th May 2017</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.2.3/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.2.3/quick-start.html">quick start guide</a>
            <br />
            <img src="images/collapsed.gif" width="7" height="7" alt="" />
            Read the <a href="docs/2.2.3/userguide/index.html">users guide</a> and <a href="docs/2.2.3/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><a name="Videos"></a>Videos</h2>
        
<div class="section">
<div class="section">
<h4><a name="Quick_start"></a>Quick start</h4>
        
<p align="center">
          <iframe width="420" height="315" src="https://www.youtube.com/embed/kG349qooN8E" frameborder="0" allowfullscreen=""></iframe>
        </p>
        </div>
<div class="section">
<h4><a name="BrowsingUploadingSearching"></a>Browsing/Uploading/Searching</h4>
        
<p align="center">
          <iframe width="420" height="315" src="https://www.youtube.com/embed/y4DoLCfYR-A" frameborder="0" allowfullscreen=""></iframe>
        </p>
      </div>

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

    
<div class="section">
<h2><a name="License"></a>License</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><a name="Thanks"></a>Thanks</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><a name="Resources"></a>Resources</h2>
      
<p>
        Need more? Try some of these resources.
      </p>
      
<div>
        
<div class="section">
<h3><a name="Books"></a>Books</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><a name="Articles_Presentations_and_Tutorials"></a>Articles, Presentations and Tutorials</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.2.3</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>File-Type</th>
              
<th>Checksum</th>
              
<th>Signature</th>
            </tr>
            
<tr class="b">
              
<td>Archiva 2.2.3 Standalone</td>
              
<td><a href="[preferred]archiva/2.2.3/binaries/apache-archiva-2.2.3-bin.zip">zip</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/2.2.3/binaries/apache-archiva-2.2.3-bin.zip.md5">md5</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/2.2.3/binaries/apache-archiva-2.2.3-bin.zip.asc">asc</a></td>
            </tr>
            
<tr class="a">
              
<td>Archiva 2.2.3 WAR</td>
              
<td><a href="[preferred]archiva/2.2.3/binaries/apache-archiva-2.2.3.war">war</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/2.2.3/binaries/apache-archiva-2.2.3.war.md5">md5</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/2.2.3/binaries/apache-archiva-2.2.3.war.asc">asc</a></td>
            </tr>
          </table>

        </div>
        
<div class="modal-footer">
          
<div class="row">
            
<div class="pull-rigth">
              <a href="docs/2.2.3/release-notes.html">Release Notes</a> | <a href="download.html">More downloads or change mirror.</a>
            </div>
            
            
          </div>
        </div>
      </div>

  

        </div>
    </div>
    <hr/>
    <footer>
      <div class="container">
        <div class="row">
<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">
        &nbsp;
      </div>
      <div class="row">
      <p>
        <a href="http://archiva.apache.org/privacy-policy.html">Privacy Policy</a>
        </p>
      </div>
        </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="https://www.ohloh.net/p/6670/widgets/project_thin_badge.js"></script>
    </div>
        </div>
    </footer>
    </body>
</html>