<!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="20230320" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Archiva :: Modules &#x2013; Project Dependencies</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">Developers <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li>      <a href="index.html"  title="Overview">Overview</a>
</li>
                  
                      <li>      <a href="terminology.html"  title="Terminology">Terminology</a>
</li>
                  
                      <li>      <a href="metadata-content-model.html"  title="Metadata Control Model">Metadata Control Model</a>
</li>
                  
                      <li>      <a href="metadata-api.html"  title="Metadata API">Metadata API</a>
</li>
                  
                      <li>      <a href="repository-api.html"  title="Repository API">Repository API</a>
</li>
                          </ul>
      </li>
                <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-base/index.html"  title="Archiva :: Base">Archiva :: Base</a>
</li>
                  
                      <li>      <a href="archiva-scheduler/index.html"  title="Archiva :: Scheduler">Archiva :: Scheduler</a>
</li>
                  
                      <li>      <a href="archiva-web/index.html"  title="Archiva :: Web">Archiva :: Web</a>
</li>
                  
                      <li>      <a href="archiva-karaf/index.html"  title="Archiva :: Karaf">Archiva :: Karaf</a>
</li>
                  
                      <li>      <a href="metadata/index.html"  title="Archiva :: Metadata">Archiva :: Metadata</a>
</li>
                  
                      <li>      <a href="plugins/index.html"  title="Archiva :: Core Plugins">Archiva :: Core Plugins</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-convergence.html"  title="Dependency Convergence">Dependency Convergence</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>
                  
                      <li class="dropdown-submenu">
                                      <a href="project-reports.html"  title="Project Reports">Project Reports</a>
              <ul class="dropdown-menu">
                                  <li>      <a href="xref/index.html"  title="Source Xref">Source Xref</a>
</li>
                                  <li>      <a href="xref-test/index.html"  title="Test Source Xref">Test Source Xref</a>
</li>
                                  <li>      <a href="checkstyle-aggregate.html"  title="Checkstyle">Checkstyle</a>
</li>
                                  <li>      <a href="apidocs/index.html"  title="JavaDocs">JavaDocs</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.10" 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="active ">Project Dependencies</li>
        
                
                    
                  <li id="publishDate" class="pull-right">Last Published: 20 Mar 2023</li>
            
                            </ul>
      </div>

      
                
        <div id="bodyColumn" >
                                  
            <a name="Project_Dependencies"></a>
<div class="section">
<h2><a name="Project_Dependencies"></a>Project Dependencies</h2><a name="Project_Dependencies_test"></a>
<div class="section">
<h3><a name="test"></a>test</h3>
<p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p>
<table border="0" class="table table-striped">
<tr class="a">
<th>GroupId</th>
<th>ArtifactId</th>
<th>Version</th>
<th>Type</th>
<th>License</th></tr>
<tr class="b">
<td>junit</td>
<td><a class="externalLink" href="http://junit.org">junit</a></td>
<td>4.12</td>
<td>jar</td>
<td><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License 1.0</a></td></tr>
<tr class="a">
<td>org.easymock</td>
<td><a class="externalLink" href="http://www.easymock.org/easymock">easymock</a></td>
<td>3.2</td>
<td>jar</td>
<td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></td></tr>
<tr class="b">
<td>org.easymock</td>
<td><a class="externalLink" href="http://www.easymock.org/easymockclassextension">easymockclassextension</a></td>
<td>3.2</td>
<td>jar</td>
<td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></td></tr></table></div></div><a name="Project_Transitive_Dependencies"></a>
<div class="section">
<h2><a name="Project_Transitive_Dependencies"></a>Project Transitive Dependencies</h2>
<p>The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies.</p><a name="Project_Transitive_Dependencies_test"></a>
<div class="section">
<h3><a name="test"></a>test</h3>
<p>The following is a list of test dependencies for this project. These dependencies are only required to compile and run unit tests for the application:</p>
<table border="0" class="table table-striped">
<tr class="a">
<th>GroupId</th>
<th>ArtifactId</th>
<th>Version</th>
<th>Type</th>
<th>License</th></tr>
<tr class="b">
<td>cglib</td>
<td><a class="externalLink" href="http://cglib.sourceforge.net/">cglib-nodep</a></td>
<td>2.2.2</td>
<td>jar</td>
<td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">ASF 2.0</a></td></tr>
<tr class="a">
<td>org.hamcrest</td>
<td><a class="externalLink" href="https://github.com/hamcrest/JavaHamcrest/hamcrest-core">hamcrest-core</a></td>
<td>1.3</td>
<td>jar</td>
<td><a class="externalLink" href="http://www.opensource.org/licenses/bsd-license.php">New BSD License</a></td></tr>
<tr class="b">
<td>org.objenesis</td>
<td><a class="externalLink" href="http://objenesis.org">objenesis</a></td>
<td>1.3</td>
<td>jar</td>
<td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></td></tr></table></div></div><a name="Project_Dependency_Graph"></a>
<div class="section">
<h2><a name="Project_Dependency_Graph"></a>Project Dependency Graph</h2><script language="javascript" type="text/javascript">
      function toggleDependencyDetail( divId, imgId )
      {
        var div = document.getElementById( divId );
        var img = document.getElementById( imgId );
        if( div.style.display == '' )
        {
          div.style.display = 'none';
          img.src='./images/icon_info_sml.gif';
        }
        else
        {
          div.style.display = '';
          img.src='./images/close.gif';
        }
      }
</script>
<a name="Dependency_Tree"></a>
<div class="section">
<h3><a name="Dependency_Tree"></a>Dependency Tree</h3>
<ul>
<li>org.apache.archiva:archiva-modules:pom:2.2.10 <img id="_img1" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep0', '_img1' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep0" style="display:none">
<table border="0" class="table table-striped">
<tr class="a">
<th>Archiva :: Modules</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>Archiva is an application for managing one or more remote
      repositories, including administration, artifact handling,
      browsing and searching.</p>
<p><b>URL: </b><a class="externalLink" href="http://archiva.apache.org/ref/2.2.10">http://archiva.apache.org/ref/2.2.10</a></p>
<p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div>
<ul>
<li>junit:junit:jar:4.12 (test) <img id="_img3" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep2', '_img3' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep2" style="display:none">
<table border="0" class="table table-striped">
<tr class="a">
<th>JUnit</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>JUnit is a unit testing framework for Java, created by Erich Gamma and Kent Beck.</p>
<p><b>URL: </b><a class="externalLink" href="http://junit.org">http://junit.org</a></p>
<p><b>Project License: </b><a class="externalLink" href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License 1.0</a></p></td></tr></table></div>
<ul>
<li>org.hamcrest:hamcrest-core:jar:1.3 (test) <img id="_img5" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep4', '_img5' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep4" style="display:none">
<table border="0" class="table table-striped">
<tr class="a">
<th>Hamcrest Core</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>This is the core API of hamcrest matcher framework to be used by third-party framework providers. This includes the a foundation set of matcher implementations for common operations.</p>
<p><b>URL: </b><a class="externalLink" href="https://github.com/hamcrest/JavaHamcrest/hamcrest-core">https://github.com/hamcrest/JavaHamcrest/hamcrest-core</a></p>
<p><b>Project License: </b><a class="externalLink" href="http://www.opensource.org/licenses/bsd-license.php">New BSD License</a></p></td></tr></table></div></li></ul></li>
<li>org.easymock:easymock:jar:3.2 (test) <img id="_img7" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep6', '_img7' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep6" style="display:none">
<table border="0" class="table table-striped">
<tr class="a">
<th>EasyMock</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>EasyMock provides an easy way to create Mock Objects for interfaces and classes generating them on the fly</p>
<p><b>URL: </b><a class="externalLink" href="http://www.easymock.org/easymock">http://www.easymock.org/easymock</a></p>
<p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></p></td></tr></table></div>
<ul>
<li>cglib:cglib-nodep:jar:2.2.2 (test) <img id="_img9" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep8', '_img9' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep8" style="display:none">
<table border="0" class="table table-striped">
<tr class="a">
<th>Code Generation Library</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>Code generation library with shaded ASM dependecies</p>
<p><b>URL: </b><a class="externalLink" href="http://cglib.sourceforge.net/">http://cglib.sourceforge.net/</a></p>
<p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">ASF 2.0</a></p></td></tr></table></div></li>
<li>org.objenesis:objenesis:jar:1.3 (test) <img id="_img11" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep10', '_img11' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep10" style="display:none">
<table border="0" class="table table-striped">
<tr class="a">
<th>Objenesis</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>A library for instantiating Java objects</p>
<p><b>URL: </b><a class="externalLink" href="http://objenesis.org">http://objenesis.org</a></p>
<p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></p></td></tr></table></div></li></ul></li>
<li>org.easymock:easymockclassextension:jar:3.2 (test) <img id="_img13" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep12', '_img13' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep12" style="display:none">
<table border="0" class="table table-striped">
<tr class="a">
<th>EasyMock Class extension</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>The EasyMock Class Extension allows to generate Mock Objects for classes</p>
<p><b>URL: </b><a class="externalLink" href="http://www.easymock.org/easymockclassextension">http://www.easymock.org/easymockclassextension</a></p>
<p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache 2</a></p></td></tr></table></div></li></ul></li></ul></div></div><a name="Licenses"></a>
<div class="section">
<h2><a name="Licenses"></a>Licenses</h2>
<p><b>Apache 2: </b>EasyMock, EasyMock Class extension, Objenesis</p>
<p><b>Eclipse Public License 1.0: </b>JUnit</p>
<p><b>ASF 2.0: </b>Code Generation Library</p>
<p><b>New BSD License: </b>Hamcrest Core</p>
<p><b>The Apache Software License, Version 2.0: </b>Archiva :: Modules</p></div><a name="Dependency_File_Details"></a>
<div class="section">
<h2><a name="Dependency_File_Details"></a>Dependency File Details</h2>
<table border="0" class="table table-striped">
<tr class="a">
<th>Filename</th>
<th>Size</th>
<th>Entries</th>
<th>Classes</th>
<th>Packages</th>
<th>Java Version</th>
<th title="Indicates whether these dependencies have been compiled with debug information.">Debug Information</th></tr>
<tr class="b">
<td>cglib-nodep-2.2.2.jar</td>
<td>326.92 kB</td>
<td>255</td>
<td>251</td>
<td>9</td>
<td>1.2</td>
<td>Yes</td></tr>
<tr class="a">
<td>junit-4.12.jar</td>
<td>314.93 kB</td>
<td>323</td>
<td>286</td>
<td>30</td>
<td>1.5</td>
<td>Yes</td></tr>
<tr class="b">
<td>easymock-3.2.jar</td>
<td>119.78 kB</td>
<td>99</td>
<td>90</td>
<td>3</td>
<td>1.5</td>
<td>Yes</td></tr>
<tr class="a">
<td>easymockclassextension-3.2.jar</td>
<td>10.41 kB</td>
<td>16</td>
<td>7</td>
<td>2</td>
<td>1.5</td>
<td>Yes</td></tr>
<tr class="b">
<td>hamcrest-core-1.3.jar</td>
<td>45.02 kB</td>
<td>52</td>
<td>45</td>
<td>3</td>
<td>1.5</td>
<td>Yes</td></tr>
<tr class="a">
<td>objenesis-1.3.jar</td>
<td>40.57 kB</td>
<td>50</td>
<td>35</td>
<td>9</td>
<td>1.3</td>
<td>Yes</td></tr>
<tr class="b">
<th>Total</th>
<th>Size</th>
<th>Entries</th>
<th>Classes</th>
<th>Packages</th>
<th>Java Version</th>
<th>Debug Information</th></tr>
<tr class="a">
<td>6</td>
<td>857.64 kB</td>
<td>795</td>
<td>714</td>
<td>56</td>
<td>1.5</td>
<td>6</td></tr>
<tr class="b">
<td>test: 6</td>
<td>test: 857.64 kB</td>
<td>test: 795</td>
<td>test: 714</td>
<td>test: 56</td>
<td>-</td>
<td>test: 6</td></tr></table></div><a name="Dependency_Repository_Locations"></a>
<div class="section">
<h2><a name="Dependency_Repository_Locations"></a>Dependency Repository Locations</h2>
<table border="0" class="table table-striped">
<tr class="a">
<th>Repo ID</th>
<th>URL</th>
<th>Release</th>
<th>Snapshot</th>
<th>Blacklisted</th></tr>
<tr class="b">
<td>archiva.staged</td>
<td><a class="externalLink" href="https://archiva-repository.apache.org/archiva/repository/archiva-releases-stage">https://archiva-repository.apache.org/archiva/repository/archiva-releases-stage</a></td>
<td>Yes</td>
<td>No</td>
<td>No</td></tr>
<tr class="a">
<td>archiva.snapshots</td>
<td><a class="externalLink" href="https://archiva-repository.apache.org/archiva/repository/snapshots">https://archiva-repository.apache.org/archiva/repository/snapshots</a></td>
<td>No</td>
<td>Yes</td>
<td>No</td></tr>
<tr class="b">
<td>central</td>
<td><a class="externalLink" href="https://repo.maven.apache.org/maven2">https://repo.maven.apache.org/maven2</a></td>
<td>Yes</td>
<td>No</td>
<td>No</td></tr>
<tr class="a">
<td>apache.snapshots</td>
<td><a class="externalLink" href="http://repository.apache.org/snapshots">http://repository.apache.org/snapshots</a></td>
<td>No</td>
<td>Yes</td>
<td>Yes</td></tr>
<tr class="b">
<td>repo.jenkins-ci.org</td>
<td><a class="externalLink" href="https://repo.jenkins-ci.org/public/">https://repo.jenkins-ci.org/public/</a></td>
<td>Yes</td>
<td>No</td>
<td>No</td></tr>
<tr class="a">
<td>repo.jboss.org</td>
<td><a class="externalLink" href="https://repository.jboss.org/nexus/content/groups/public/">https://repository.jboss.org/nexus/content/groups/public/</a></td>
<td>Yes</td>
<td>No</td>
<td>No</td></tr></table>
<p>Repository locations for each of the Dependencies.</p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Artifact</th>
<th>archiva.staged</th>
<th>archiva.snapshots</th>
<th>central</th>
<th>repo.jenkins-ci.org</th>
<th>repo.jboss.org</th></tr>
<tr class="b">
<td>cglib:cglib-nodep:jar:2.2.2</td>
<td>-</td>
<td>-</td>
<td><a class="externalLink" href="https://repo.maven.apache.org/maven2/cglib/cglib-nodep/2.2.2/cglib-nodep-2.2.2.jar"><img alt="Found at https://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td>
<td><a class="externalLink" href="https://repo.jenkins-ci.org/public//cglib/cglib-nodep/2.2.2/cglib-nodep-2.2.2.jar"><img alt="Found at https://repo.jenkins-ci.org/public/" src="images/icon_success_sml.gif" /></a></td>
<td>-</td></tr>
<tr class="a">
<td>junit:junit:jar:4.12</td>
<td>-</td>
<td>-</td>
<td><a class="externalLink" href="https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.jar"><img alt="Found at https://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td>
<td><a class="externalLink" href="https://repo.jenkins-ci.org/public//junit/junit/4.12/junit-4.12.jar"><img alt="Found at https://repo.jenkins-ci.org/public/" src="images/icon_success_sml.gif" /></a></td>
<td>-</td></tr>
<tr class="b">
<td>org.easymock:easymock:jar:3.2</td>
<td>-</td>
<td>-</td>
<td><a class="externalLink" href="https://repo.maven.apache.org/maven2/org/easymock/easymock/3.2/easymock-3.2.jar"><img alt="Found at https://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td>
<td><a class="externalLink" href="https://repo.jenkins-ci.org/public//org/easymock/easymock/3.2/easymock-3.2.jar"><img alt="Found at https://repo.jenkins-ci.org/public/" src="images/icon_success_sml.gif" /></a></td>
<td>-</td></tr>
<tr class="a">
<td>org.easymock:easymockclassextension:jar:3.2</td>
<td>-</td>
<td>-</td>
<td><a class="externalLink" href="https://repo.maven.apache.org/maven2/org/easymock/easymockclassextension/3.2/easymockclassextension-3.2.jar"><img alt="Found at https://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td>
<td><a class="externalLink" href="https://repo.jenkins-ci.org/public//org/easymock/easymockclassextension/3.2/easymockclassextension-3.2.jar"><img alt="Found at https://repo.jenkins-ci.org/public/" src="images/icon_success_sml.gif" /></a></td>
<td>-</td></tr>
<tr class="b">
<td>org.hamcrest:hamcrest-core:jar:1.3</td>
<td>-</td>
<td>-</td>
<td><a class="externalLink" href="https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"><img alt="Found at https://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td>
<td><a class="externalLink" href="https://repo.jenkins-ci.org/public//org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"><img alt="Found at https://repo.jenkins-ci.org/public/" src="images/icon_success_sml.gif" /></a></td>
<td>-</td></tr>
<tr class="a">
<td>org.objenesis:objenesis:jar:1.3</td>
<td>-</td>
<td>-</td>
<td><a class="externalLink" href="https://repo.maven.apache.org/maven2/org/objenesis/objenesis/1.3/objenesis-1.3.jar"><img alt="Found at https://repo.maven.apache.org/maven2" src="images/icon_success_sml.gif" /></a></td>
<td><a class="externalLink" href="https://repo.jenkins-ci.org/public//org/objenesis/objenesis/1.3/objenesis-1.3.jar"><img alt="Found at https://repo.jenkins-ci.org/public/" src="images/icon_success_sml.gif" /></a></td>
<td>-</td></tr>
<tr class="b">
<th>Total</th>
<th>archiva.staged</th>
<th>archiva.snapshots</th>
<th>central</th>
<th>repo.jenkins-ci.org</th>
<th>repo.jboss.org</th></tr>
<tr class="a">
<td>6 (test: 6)</td>
<td>0</td>
<td>0</td>
<td>6</td>
<td>6</td>
<td>0</td></tr></table></div>
                  </div>
          </div>

    <hr/>

    <footer>
            <div class="container">
                      <div class="row">
                              <p >Copyright &copy;                    2006&#x2013;2023
                        <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>
