<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.8.1 
 | 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 http-equiv="Content-Language" content="en" />
    <title>Archiva :: Base &#x2013; Project Information</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>
<link rel="stylesheet" type="text/css" href="https://archiva.apache.org/css/site.css" />
      <!-- 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">
                      <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">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-repository-api/index.html" title="Archiva Base :: Repository API">Archiva Base :: Repository API</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/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-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-storage-api/index.html" title="Archiva Base :: Storage API">Archiva Base :: Storage API</a></li>
            <li><a href="archiva-storage-fs/index.html" title="Archiva Base :: Storage Filesystem Based">Archiva Base :: Storage Filesystem Based</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="index.html" title="About">About</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="https://archiva.apache.org/ref/3.0.0-SNAPSHOT/archiva-base" 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>
                              <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="http://archiva.apache.org/index.html" id="bannerLeft"><img src="http://archiva.apache.org/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="https://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=""><a href="../index.html" title="Archiva Modules">Archiva Modules</a><span class="divider">/</span></li>
      <li class=""><a href="index.html" title="Archiva :: Base">Archiva :: Base</a><span class="divider">/</span></li>
    <li class="active ">Project Information</li>
        <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2019-11-30</li>
          <li id="projectVersion" class="pull-right">Version: 3.0.0-SNAPSHOT</li>
        </ul>
      </div>
        <div id="bodyColumn" >
<div class="section">
<h2><a name="Project_Information"></a>Project Information</h2>
<p>This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by <a class="externalLink" href="http://maven.apache.org">Maven</a> on behalf of the project.</p>
<div class="section">
<h3><a name="Overview"></a>Overview</h3>
<table border="0" class="table table-striped">
<tr class="a">
<th>Document</th>
<th>Description</th></tr>
<tr class="b">
<td><a href="index.html">About</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;2019
<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="https://www.ohloh.net/p/6670/widgets/project_thin_badge.js"></script>
    </div>
        </div>
    </footer>
    </body>
</html>