<!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="Date-Revision-yyyymmdd" content="20220525" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Archiva :: Base &#x2013; About</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>

    
              <!-- Google Analytics -->
    <script type="text/javascript">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-140879-5']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </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">Modules <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li>      <a href="archiva-test-utils/index.html"  title="Archiva Base :: Test Utility">Archiva Base :: Test Utility</a>
</li>
                  
                      <li>      <a href="archiva-common/index.html"  title="Archiva Base :: Common">Archiva Base :: Common</a>
</li>
                  
                      <li>      <a href="archiva-mock/index.html"  title="Archiva Base :: Mocks">Archiva Base :: Mocks</a>
</li>
                  
                      <li>      <a href="archiva-filelock/index.html"  title="Archiva Base :: FileLock">Archiva Base :: FileLock</a>
</li>
                  
                      <li>      <a href="archiva-model/index.html"  title="Archiva Base :: Model">Archiva Base :: Model</a>
</li>
                  
                      <li>      <a href="archiva-configuration/index.html"  title="Archiva Base :: Configuration">Archiva Base :: Configuration</a>
</li>
                  
                      <li>      <a href="archiva-checksum/index.html"  title="Archiva Base :: Checksum">Archiva Base :: Checksum</a>
</li>
                  
                      <li>      <a href="archiva-plexus-bridge/index.html"  title="Archiva Base :: Plexus Bridge">Archiva Base :: Plexus Bridge</a>
</li>
                  
                      <li>      <a href="archiva-policies/index.html"  title="Archiva Base :: Policies">Archiva Base :: Policies</a>
</li>
                  
                      <li>      <a href="archiva-indexer/index.html"  title="Archiva Base :: Indexer">Archiva Base :: Indexer</a>
</li>
                  
                      <li>      <a href="archiva-consumers/index.html"  title="Archiva Base :: Consumers">Archiva Base :: Consumers</a>
</li>
                  
                      <li>      <a href="archiva-repository-layer/index.html"  title="Archiva Base :: Repository Interface Layer">Archiva Base :: Repository Interface Layer</a>
</li>
                  
                      <li>      <a href="archiva-xml-tools/index.html"  title="Archiva Base :: XML Tools">Archiva Base :: XML Tools</a>
</li>
                  
                      <li>      <a href="archiva-proxy-api/index.html"  title="Archiva Base :: Proxy Api">Archiva Base :: Proxy Api</a>
</li>
                  
                      <li>      <a href="archiva-proxy-common/index.html"  title="Archiva Base :: Proxy Common">Archiva Base :: Proxy Common</a>
</li>
                  
                      <li>      <a href="archiva-proxy/index.html"  title="Archiva Base :: Proxy">Archiva Base :: Proxy</a>
</li>
                  
                      <li>      <a href="archiva-transaction/index.html"  title="Archiva Base :: Transactions">Archiva Base :: Transactions</a>
</li>
                  
                      <li>      <a href="archiva-converter/index.html"  title="Archiva Base :: Repository Converter">Archiva Base :: Repository Converter</a>
</li>
                  
                      <li>      <a href="archiva-repository-scanner/index.html"  title="Archiva Base :: Repository Scanner">Archiva Base :: Repository Scanner</a>
</li>
                  
                      <li>      <a href="archiva-repository-admin/index.html"  title="Archiva Base :: Repository Admin">Archiva Base :: Repository Admin</a>
</li>
                  
                      <li>      <a href="archiva-security-common/index.html"  title="Archiva Base :: Security Common">Archiva Base :: Security Common</a>
</li>
                  
                      <li>      <a href="archiva-maven2-metadata/index.html"  title="Archiva Base :: Maven 2 Metadata">Archiva Base :: Maven 2 Metadata</a>
</li>
                  
                      <li>      <a href="archiva-maven2-model/index.html"  title="Archiva Base :: Maven 2 Model">Archiva Base :: Maven 2 Model</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="dependencies.html"  title="Dependencies">Dependencies</a>
</li>
                                  <li>      <a href="dependency-info.html"  title="Dependency Information">Dependency Information</a>
</li>
                                  <li>      <a href="dependency-management.html"  title="Dependency Management">Dependency Management</a>
</li>
                                  <li>      <a href="distribution-management.html"  title="Distribution Management">Distribution Management</a>
</li>
                                  <li>      <a href="index.html"  title="About">About</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="mail-lists.html"  title="Mailing Lists">Mailing Lists</a>
</li>
                                  <li>      <a href="modules.html"  title="Project Modules">Project Modules</a>
</li>
                                  <li>      <a href="plugin-management.html"  title="Plugin Management">Plugin Management</a>
</li>
                                  <li>      <a href="plugins.html"  title="Project Plugins">Project Plugins</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>
                                  <li>      <a href="project-summary.html"  title="Project Summary">Project Summary</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/ref/2.2.8" 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>
          
                                                    
        
        
        <ul class="nav pull-right"><li>
    
    <a href="https://twitter.com/archiva" class="twitter-follow-button" data-show-count="false" data-align="right" data-size="large" data-show-screen-name="true" data-lang="en">Follow archiva</a>
    <script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

        </li></ul>
                              
                   
                      </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="../" title="Apache Archiva">
        Apache Archiva</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="../" title="Archiva :: Modules">
        Archiva :: Modules</a>
                    <span class="divider">/</span>
      </li>
                <li class="">
                    <a href="./" title="Archiva :: Base">
        Archiva :: Base</a>
                    <span class="divider">/</span>
      </li>
        <li class="active ">About</li>
        
                
                    
                  <li id="publishDate" class="pull-right">Last Published: 25 May 2022</li>
            
                            </ul>
      </div>

      
                
        <div id="bodyColumn" >
                                  
            <div class="section">
<h2><a name="About_Archiva_::_Base"></a>About Archiva :: Base</h2><a name="About_Archiva_::_Base"></a>
<p>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</p>
<div class="section">
<h3><a name="Project_Modules"></a>Project Modules</h3><a name="Project_Modules"></a>
<p>This project has declared the following modules:</p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Name</th>
<th>Description</th></tr>
<tr class="b">
<td><a href="archiva-test-utils/index.html">Archiva Base :: Test Utility</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="a">
<td><a href="archiva-common/index.html">Archiva Base :: Common</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="b">
<td><a href="archiva-mock/index.html">Archiva Base :: Mocks</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="a">
<td><a href="archiva-filelock/index.html">Archiva Base :: FileLock</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="b">
<td><a href="archiva-model/index.html">Archiva Base :: Model</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="a">
<td><a href="archiva-configuration/index.html">Archiva Base :: Configuration</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="b">
<td><a href="archiva-checksum/index.html">Archiva Base :: Checksum</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="a">
<td><a href="archiva-plexus-bridge/index.html">Archiva Base :: Plexus Bridge</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="b">
<td><a href="archiva-policies/index.html">Archiva Base :: Policies</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="a">
<td><a href="archiva-indexer/index.html">Archiva Base :: Indexer</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="b">
<td><a href="archiva-consumers/index.html">Archiva Base :: Consumers</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="a">
<td><a href="archiva-repository-layer/index.html">Archiva Base :: Repository Interface Layer</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="b">
<td><a href="archiva-xml-tools/index.html">Archiva Base :: XML Tools</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="a">
<td><a href="archiva-proxy-api/index.html">Archiva Base :: Proxy Api</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="b">
<td><a href="archiva-proxy-common/index.html">Archiva Base :: Proxy Common</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="a">
<td><a href="archiva-proxy/index.html">Archiva Base :: Proxy</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="b">
<td><a href="archiva-transaction/index.html">Archiva Base :: Transactions</a></td>
<td>API for managing transaction.</td></tr>
<tr class="a">
<td><a href="archiva-converter/index.html">Archiva Base :: Repository Converter</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="b">
<td><a href="archiva-repository-scanner/index.html">Archiva Base :: Repository Scanner</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="a">
<td><a href="archiva-repository-admin/index.html">Archiva Base :: Repository Admin</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="b">
<td><a href="archiva-security-common/index.html">Archiva Base :: Security Common</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="a">
<td><a href="archiva-maven2-metadata/index.html">Archiva Base :: Maven 2 Metadata</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr>
<tr class="b">
<td><a href="archiva-maven2-model/index.html">Archiva Base :: Maven 2 Model</a></td>
<td>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</td></tr></table></div></div>
                  </div>
          </div>

    <hr/>

    <footer>
            <div class="container">
                      <div class="row">
                              <p >Copyright &copy;                    2006&#x2013;2022
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All rights reserved.      
                    
      </p>
        </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>
