<!DOCTYPE html>


<!--
 | Generated by Apache Maven Doxia Site Renderer 1.11.1 from src/site/xdoc/index.xml.vm
 | Rendered using Apache Maven Fluido Skin 1.11.0-SNAPSHOT
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="generator" content="Apache Maven Doxia Site Renderer 1.11.1" />
    <meta name="author" content="Brett Porter" />
    <title>Archiva &#x2013; The Build Artifact Repository Manager</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.11.0-SNAPSHOT.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
    <script src="./js/apache-maven-fluido-1.11.0-SNAPSHOT.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
<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>
    <!-- Matomo -->
    <script>
        var _paq = window._paq = window._paq || [];
                _paq.push(['disableCookies']);
                    _paq.push(['trackPageView']);
                    _paq.push(['enableLinkTracking']);
        
        (function() {
            var u="https://analytics.apache.org";
            _paq.push(['setTrackerUrl', u+'/matomo.php']);
            _paq.push(['setSiteId', '10']);
            var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
            g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s);
        })();
    </script>
    <!-- End Matomo Code -->
  </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>
    <header id="topbar" class="navbar navbar-fixed-top ">
      <div class="navbar-inner">
            <div class="container">
              <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
              </a>
          <nav 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="mailing-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.7/" title="Release 2.2.7">Release 2.2.7</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 class="dropdown-submenu">
<a href="" title="Developer Reference">Developer Reference</a>
              <ul class="dropdown-menu">
                  <li><a href="ref/2.2.7/index.html" title="Archiva 2.2.7">Archiva 2.2.7</a></li>
                  <li><a href="ref/3.0.0-SNAPSHOT/index.html" title="Archiva 3.0.0-SNAPSHOT">Archiva 3.0.0-SNAPSHOT</a></li>
                  <li><a href="redback/core/3.0.0-SNAPSHOT/index.html" title="Redback 3.0.0-SNAPSHOT">Redback 3.0.0-SNAPSHOT</a></li>
              </ul>
            </li>
            <li><a href="redback/index.html" title="Redback">Redback</a></li>
            <li><a href="components/index.html" title="Archiva Components Project">Archiva Components Project</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="https://www.apache.org/foundation/how-it-works.html" title="How Apache Works">How Apache Works</a></li>
            <li><a href="https://www.apache.org/foundation/" title="Foundation">Foundation</a></li>
            <li><a href="https://www.apache.org/foundation/sponsorship.html" title="Sponsoring Apache">Sponsoring Apache</a></li>
            <li><a href="https://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="ci-management.html" title="CI Management">CI Management</a></li>
                  <li><a href="mailing-lists.html" title="Mailing Lists">Mailing Lists</a></li>
                  <li><a href="issue-management.html" title="Issue Management">Issue Management</a></li>
                  <li><a href="licenses.html" title="Licenses">Licenses</a></li>
                  <li><a href="team.html" title="Team">Team</a></li>
                  <li><a href="scm.html" title="Source Code Management">Source Code Management</a></li>
              </ul>
            </li>
        </ul>
      </li>
            </ul>
          </nav>
          <div class="nav-collapse">
<form id="search-form" action="https://www.google.com/search" method="get"  class="navbar-search pull-right" >
  <input value="https://archiva.apache.org/" name="sitesearch" type="hidden"/>
  <input class="search-query" name="q" id="query" type="text" />
</form>
<script>asyncJs( 'https://cse.google.com/brand?form=search-form' )</script>
          </div>
        </div>
      </div>
    </header>
    <div class="container">
      <header>
        <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="https://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="./" 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: 21 Apr 2022</li>
          </ul>
        </div>
      </header>
        <main 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>22th December 2021: The new Apache Archiva release version 2.2.7 is ready for download <a class="externalLink" href="http://archiva.apache.org/download.html"></a> </b>. 
               This is a bugfix release. Please have a look at the <a class="externalLink" href="http://archiva.apache.org/docs/2.2.7/release-notes.html">release notes</a> for further information. 
               As this release contains <b>security fixes</b>, we recommend to update to the new version immediately. </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.7/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.7/adminguide/redback-runtime-configuration.html">View all.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.7/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.7/adminguide/redback-runtime-configuration.html">View all.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.7/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.7/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.7/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.7/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.7/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.7/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.7/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.7/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.7/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.7/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.7/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.7/index.html">View new documentation.</a></p>
              </div>
            </div>


            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.7/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.7/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.7/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.7/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.7/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.7/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.7/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.7/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.7/index.html">View new documentation.</a></p>
              </div>
            </div>
            
<div class="item">
              <img src="https://archiva.apache.org/docs/2.2.7/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.7/tour/index.html">View all.</a></p>
                
<p><a class="externalLink" href="https://archiva.apache.org/docs/2.2.7/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>
    <section>
<h2><a name="Apache_Archiva.C2.99:_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.7/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.7 <span style="font-size:smaller;color:#F89406">22th December 2021</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.7/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.7/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.7/userguide/index.html">users guide</a> and <a href="docs/2.2.7/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="mailing-lists.html">mailing lists</a> and <a class="externalLink" href="http://cwiki.apache.org/confluence/display/ARCHIVA/">wiki</a>, file <a href="issue-management.html">issues</a>, and even <a href="get-involved.html">get involved</a> in the development.
          </p>
          <br style="clear: left" />
        </div>
      </div>

      
<div>
        <section>
<h2><a name="Videos"></a>Videos</h2>
        <section><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>
        </section><section>
<h4><a name="Browsing.2FUploading.2FSearching"></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>

    </section></section></section>

    <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>
    </section>
    <section>
<h2><a name="Apache_Software_Foundation"></a>Apache Software Foundation</h2>
        
<p>
            Archiva is part of the Apache software Foundation. 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>
        
<p>
            <a class="externalLink" href="https://www.apache.org/events/current-event.html">
                <img src="https://www.apache.org/events/current-event-234x60.png" alt="Apache Events" style="vertical-align: text-top" />
            </a>
        </p>
        
<p> You can also attend <a class="externalLink" href="https://www.apache.org/events/current-event.html">Apache Events</a>: don't hesitate to ask on the <a href="mailing-lists.html">Archiva User mailing list</a>
            if Archiva team members will be there, it can be a great opportunity to meet them.
        </p>
    </section>

    <section>
<h2><a name="Resources"></a>Resources</h2>
      
<p>
        Need more? Try some of these resources.
      </p>
      
<div>
        <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">
        </section><section>
<h3><a name="Articles.2C_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>
    </section></section>

      
<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.7</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 align="left">Archiva 2.2.7 Standalone</td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/archiva/2.2.7/binaries/apache-archiva-2.2.7-bin.zip">zip</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/archiva/2.2.7/binaries/apache-archiva-2.2.7-bin.zip.sha256">sha256</a></td>
              
<td><a class="externalLink" href="https://www.apache.org/dist/archiva/2.2.7/binaries/apache-archiva-2.2.7-bin.zip.asc">asc</a></td>
            </tr>
            
<tr class="a">
              
<td align="left">Archiva 2.2.7 WAR</td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/2.2.7/binaries/apache-archiva-2.2.7.war">war</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/2.2.7/binaries/apache-archiva-2.2.7.war.sha256">sha256</a></td>
              
<td><a class="externalLink" href="http://www.apache.org/dist/archiva/2.2.7/binaries/apache-archiva-2.2.7.war.asc">asc</a></td>
            </tr>
          </table>

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

  

        </main>
    </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="https://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>
    </footer>
<script>
	if(anchors) {
	  anchors.add();
	}
</script>
  </body>
</html>