<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia at May 28, 2013
 | Rendered using Apache Maven Fluido Skin 1.3.0
-->
<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="20130528" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Core - Project Dependencies</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.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.0.min.js"></script>

    
            </head>
        <body class="topBarDisabled">
          
                
                    
    
        <div class="container-fluid">
          <div id="banner">
        <div class="pull-left">
                                <div id="bannerLeft">
                <h2>Axis Runtime Core</h2>
                </div>
                      </div>
        <div class="pull-right">                                <a href=".." id="bannerRight">
                                                                                                <img src="../images/axis-small.png"  alt="Apache Axis"/>
                </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>
        </li>
      <li class="divider ">/</li>
            <li class="">
                    <a href="../../../" title="Axis">
        Axis</a>
        </li>
      <li class="divider ">/</li>
            <li class="">
                    <a href="../../" title="Axis 1.x">
        Axis 1.x</a>
        </li>
      <li class="divider ">/</li>
            <li class="">
                    <a href="../" title="Java">
        Java</a>
        </li>
      <li class="divider ">/</li>
                <li class="">
                    <a href="./" title="Core">
        Core</a>
        </li>
      <li class="divider ">/</li>
        <li class="">Project Dependencies</li>
        
                
                    
                  <li id="publishDate" class="pull-right">Last Published: 2013-05-28</li> <li class="divider pull-right">|</li>
              <li id="projectVersion" class="pull-right">Version: 1.4.1-SNAPSHOT</li>
            
                            </ul>
      </div>

            
      <div class="row-fluid">
        <div id="leftColumn" class="span3">
          <div class="well sidebar-nav">
                
                    
                <ul class="nav nav-list">
                    <li class="nav-header">Project Documentation</li>
                                                                                                                                
      <li>
    
                          <a href="project-info.html" title="Project Information">
          <i class="icon-chevron-down"></i>
        Project Information</a>
                    <ul class="nav nav-list">
                      
      <li>
    
                          <a href="index.html" title="About">
          <i class="none"></i>
        About</a>
            </li>
                      
      <li>
    
                          <a href="project-summary.html" title="Project Summary">
          <i class="none"></i>
        Project Summary</a>
            </li>
                      
      <li class="active">
    
            <a href="#"><i class="none"></i>Dependencies</a>
          </li>
              </ul>
        </li>
                                                                    
      <li>
    
                          <a href="project-reports.html" title="Project Reports">
          <i class="icon-chevron-right"></i>
        Project Reports</a>
                  </li>
                              <li class="nav-header">Apache</li>
                                
      <li>
    
                          <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="License">
          <i class="none"></i>
        License</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">
          <i class="none"></i>
        Sponsorship</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">
          <i class="none"></i>
        Thanks</a>
            </li>
                  
      <li>
    
                          <a href="http://www.apache.org/security/" class="externalLink" title="Security">
          <i class="none"></i>
        Security</a>
            </li>
            </ul>
                
                    
                            <form id="search-form" action="http://www.google.com/search" method="get" >
    
  <input value="ws.apache.org/axis/java" 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>
          
          <hr class="divider" />

           <div id="poweredBy">
                            <div class="clear"></div>
                            <div class="clear"></div>
                            <div class="clear"></div>
                             <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>
                  </div>
          </div>
        </div>
        
                
        <div id="bodyColumn"  class="span9" >
                                  
            <a name="Project_Dependencies"></a><div class="section"><h2>Project Dependencies<a name="Project_Dependencies"></a></h2><a name="Project_Dependencies_compile"></a><div class="section"><h3>compile<a name="compile"></a></h3><p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run 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>commons-discovery</td><td>commons-discovery</td><td>0.4</td><td>jar</td><td>/LICENSE.txt</td></tr><tr class="a"><td>commons-logging</td><td><a class="externalLink" href="http://commons.apache.org/logging">commons-logging</a></td><td>1.1.1</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>javax.mail</td><td><a class="externalLink" href="https://glassfish.dev.java.net/javaee5/mail/">mail</a></td><td>1.4.1</td><td>jar</td><td><a class="externalLink" href="https://glassfish.dev.java.net/public/CDDLv1.0.html">Common Development and Distribution License (CDDL) v1.0</a></td></tr><tr class="a"><td>org.apache.axis</td><td><a class="externalLink" href="http://axis.apache.org/axis/java/jaxrpc">axis-jaxrpc</a></td><td>1.4.1-SNAPSHOT</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr><tr class="b"><td>wsdl4j</td><td><a class="externalLink" href="http://sf.net/projects/wsdl4j">wsdl4j</a></td><td>1.6.2</td><td>jar</td><td><a class="externalLink" href="http://www.opensource.org/licenses/cpl1.0.txt">CPL</a></td></tr><tr class="a"><td>xerces</td><td>xercesImpl</td><td>2.6.2</td><td>jar</td><td>-</td></tr><tr class="b"><td>xerces</td><td>xmlParserAPIs</td><td>2.6.2</td><td>jar</td><td>-</td></tr></table></div><a name="Project_Dependencies_test"></a><div class="section"><h3>test<a name="test"></a></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>3.8.2</td><td>jar</td><td><a class="externalLink" href="http://www.opensource.org/licenses/cpl1.0.txt">Common Public License Version 1.0</a></td></tr><tr class="a"><td>oro</td><td>oro</td><td>2.0.6</td><td>jar</td><td>-</td></tr><tr class="b"><td>xalan</td><td>xalan</td><td>2.6.0</td><td>jar</td><td>-</td></tr><tr class="a"><td>xmlunit</td><td>xmlunit</td><td>1.0</td><td>jar</td><td>-</td></tr></table></div></div><a name="Project_Transitive_Dependencies"></a><div class="section"><h2>Project Transitive Dependencies<a name="Project_Transitive_Dependencies"></a></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_compile"></a><div class="section"><h3>compile<a name="compile"></a></h3><p>The following is a list of compile dependencies for this project. These dependencies are required to compile and run 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>javax.activation</td><td><a class="externalLink" href="http://java.sun.com/products/javabeans/jaf/index.jsp">activation</a></td><td>1.1</td><td>jar</td><td><a class="externalLink" href="https://glassfish.dev.java.net/public/CDDLv1.0.html">Common Development and Distribution License (CDDL) v1.0</a></td></tr><tr class="a"><td>javax.servlet</td><td>servlet-api</td><td>2.4</td><td>jar</td><td>-</td></tr><tr class="b"><td>org.apache.axis</td><td><a class="externalLink" href="http://axis.apache.org/axis/java/saaj">axis-saaj</a></td><td>1.4.1-SNAPSHOT</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr></table></div><a name="Project_Transitive_Dependencies_test"></a><div class="section"><h3>test<a name="test"></a></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>xml-apis</td><td><a class="externalLink" href="http://xml.apache.org/commons/#external">xml-apis</a></td><td>1.0.b2</td><td>jar</td><td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0.txt">The Apache Software License, Version 2.0</a></td></tr></table></div></div><a name="Project_Dependency_Graph"></a><div class="section"><h2>Project Dependency Graph<a name="Project_Dependency_Graph"></a></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>Dependency Tree<a name="Dependency_Tree"></a></h3><ul><li>org.apache.axis:axis-rt-core:jar:1.4.1-SNAPSHOT <img id="_659607910" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_470983156', '_659607910' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_470983156" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>Axis Runtime Core</th></tr><tr class="b"><td><p><b>Description: </b>The Apache Software Foundation provides support for the Apache community of open-source software projects.
    The Apache projects are characterized by a collaborative, consensus based development process, an open and
    pragmatic software license, and a desire to create high quality software that leads the way in its field.
    We consider ourselves not simply a group of projects sharing a server, but rather a community of developers
    and users.</p><p><b>URL: </b><a class="externalLink" href="http://axis.apache.org/axis/java/core">http://axis.apache.org/axis/java/core</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>org.apache.axis:axis-jaxrpc:jar:1.4.1-SNAPSHOT (compile) <img id="_624691975" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_731936748', '_624691975' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_731936748" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>JAX-RPC API</th></tr><tr class="b"><td><p><b>Description: </b>Contains the JAX-RPC 1.1 API</p><p><b>URL: </b><a class="externalLink" href="http://axis.apache.org/axis/java/jaxrpc">http://axis.apache.org/axis/java/jaxrpc</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>org.apache.axis:axis-saaj:jar:1.4.1-SNAPSHOT (compile) <img id="_1273473641" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1815460438', '_1273473641' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1815460438" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>SAAJ API</th></tr><tr class="b"><td><p><b>Description: </b>Contains the SAAJ 1.2 API</p><p><b>URL: </b><a class="externalLink" href="http://axis.apache.org/axis/java/saaj">http://axis.apache.org/axis/java/saaj</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></li><li>javax.servlet:servlet-api:jar:2.4 (compile) <img id="_589920350" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2036358240', '_589920350' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2036358240" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>servlet-api</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No license is defined for this project.</p></td></tr></table></div></li></ul></li><li>commons-logging:commons-logging:jar:1.1.1 (compile) <img id="_746927972" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1842802208', '_746927972' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1842802208" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>Commons Logging</th></tr><tr class="b"><td><p><b>Description: </b>Commons Logging is a thin adapter allowing configurable bridging to other,
    well known logging systems.</p><p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/logging">http://commons.apache.org/logging</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></li><li>javax.mail:mail:jar:1.4.1 (compile) <img id="_581287456" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_436644675', '_581287456' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_436644675" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>JavaMail API</th></tr><tr class="b"><td><p><b>Description: </b>The JavaMail API provides a platform-independent and protocol-independent framework to build mail and messaging applications.</p><p><b>URL: </b><a class="externalLink" href="https://glassfish.dev.java.net/javaee5/mail/">https://glassfish.dev.java.net/javaee5/mail/</a></p><p><b>Project License: </b><a class="externalLink" href="https://glassfish.dev.java.net/public/CDDLv1.0.html">Common Development and Distribution License (CDDL) v1.0</a></p></td></tr></table></div><ul><li>javax.activation:activation:jar:1.1 (compile) <img id="_1927436968" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_466488272', '_1927436968' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_466488272" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>JavaBeans Activation Framework (JAF)</th></tr><tr class="b"><td><p><b>Description: </b>JavaBeans Activation Framework (JAF) is a standard extension to the Java platform that lets you take advantage of standard services to: determine the type of an arbitrary piece of data; encapsulate access to it; discover the operations available on it; and instantiate the appropriate bean to perform the operation(s).</p><p><b>URL: </b><a class="externalLink" href="http://java.sun.com/products/javabeans/jaf/index.jsp">http://java.sun.com/products/javabeans/jaf/index.jsp</a></p><p><b>Project License: </b><a class="externalLink" href="https://glassfish.dev.java.net/public/CDDLv1.0.html">Common Development and Distribution License (CDDL) v1.0</a></p></td></tr></table></div></li></ul></li><li>wsdl4j:wsdl4j:jar:1.6.2 (compile) <img id="_404561657" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1295290276', '_404561657' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1295290276" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>WSDL4J</th></tr><tr class="b"><td><p><b>Description: </b>Java stub generator for WSDL</p><p><b>URL: </b><a class="externalLink" href="http://sf.net/projects/wsdl4j">http://sf.net/projects/wsdl4j</a></p><p><b>Project License: </b><a class="externalLink" href="http://www.opensource.org/licenses/cpl1.0.txt">CPL</a></p></td></tr></table></div></li><li>commons-discovery:commons-discovery:jar:0.4 (compile) <img id="_1693640642" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_350007417', '_1693640642' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_350007417" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>Discovery</th></tr><tr class="b"><td><p><b>Description: </b>Commons Discovery</p><p><b>URL: </b>http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/</p><p><b>Project License: </b><a href="/LICENSE.txt">The Apache Software License, Version 2.0</a></p></td></tr></table></div></li><li>xerces:xercesImpl:jar:2.6.2 (compile) <img id="_1497745100" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1669742881', '_1497745100' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1669742881" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>xercesImpl</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No license is defined for this project.</p></td></tr></table></div></li><li>xerces:xmlParserAPIs:jar:2.6.2 (compile) <img id="_652820593" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_261759708', '_652820593' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_261759708" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>xmlParserAPIs</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No license is defined for this project.</p></td></tr></table></div></li><li>junit:junit:jar:3.8.2 (test) <img id="_257747723" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1279246111', '_257747723' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1279246111" 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 regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java.</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.opensource.org/licenses/cpl1.0.txt">Common Public License Version 1.0</a></p></td></tr></table></div></li><li>xmlunit:xmlunit:jar:1.0 (test) <img id="_292916116" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1062690022', '_292916116' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1062690022" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>xmlunit</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No license is defined for this project.</p></td></tr></table></div></li><li>xalan:xalan:jar:2.6.0 (test) <img id="_1609768910" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_502813627', '_1609768910' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_502813627" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>xalan</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No license is defined for this project.</p></td></tr></table></div><ul><li>xml-apis:xml-apis:jar:1.0.b2 (test) <img id="_1616711163" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_1155546874', '_1616711163' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_1155546874" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>XML Commons External Components XML APIs</th></tr><tr class="b"><td><p><b>Description: </b>xml-commons provides an Apache-hosted set of DOM, SAX, and 
    JAXP interfaces for use in other xml-based projects. Our hope is that we 
    can standardize on both a common version and packaging scheme for these 
    critical XML standards interfaces to make the lives of both our developers 
    and users easier. The External Components portion of xml-commons contains 
    interfaces that are defined by external standards organizations. For DOM, 
    that's the W3C; for SAX it's David Megginson and sax.sourceforge.net; for 
    JAXP it's Sun.</p><p><b>URL: </b><a class="externalLink" href="http://xml.apache.org/commons/#external">http://xml.apache.org/commons/#external</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></li></ul></li><li>oro:oro:jar:2.0.6 (test) <img id="_323620414" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_2062760824', '_323620414' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_2062760824" style="display:none"><table border="0" class="table table-striped"><tr class="a"><th>oro</th></tr><tr class="b"><td><p><b>Description: </b>There is currently no description associated with this project.</p><p><b>Project License: </b>No license is defined for this project.</p></td></tr></table></div></li></ul></li></ul></div></div><a name="Licenses"></a><div class="section"><h2>Licenses<a name="Licenses"></a></h2><p><b>CPL: </b>WSDL4J</p><p><b>Unknown: </b>oro, servlet-api, xalan, xercesImpl, xmlParserAPIs, xmlunit</p><p><b>Common Public License Version 1.0: </b>JUnit</p><p><b>The Apache Software License, Version 2.0: </b>Axis Runtime Core, Commons Logging, Discovery, JAX-RPC API, SAAJ API, XML Commons External Components XML APIs</p><p><b>Common Development and Distribution License (CDDL) v1.0: </b>JavaBeans Activation Framework (JAF), JavaMail API</p></div><a name="Dependency_File_Details"></a><div class="section"><h2>Dependency File Details<a name="Dependency_File_Details"></a></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>JDK Rev</th><th>Debug</th></tr><tr class="b"><td>commons-discovery-0.4.jar</td><td>74.89 kB</td><td>74</td><td>59</td><td>8</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>commons-logging-1.1.1.jar</td><td>59.26 kB</td><td>42</td><td>28</td><td>2</td><td>1.1</td><td>debug</td></tr><tr class="b"><td>activation-1.1.jar</td><td>61.51 kB</td><td>50</td><td>38</td><td>3</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>mail-1.4.1.jar</td><td>437.18 kB</td><td>303</td><td>279</td><td>13</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>servlet-api-2.4.jar</td><td>95.40 kB</td><td>67</td><td>42</td><td>2</td><td>1.2</td><td>debug</td></tr><tr class="a"><td>junit-3.8.2.jar</td><td>117.81 kB</td><td>120</td><td>102</td><td>6</td><td>1.2</td><td>debug</td></tr><tr class="b"><td>axis-jaxrpc-1.4.1-SNAPSHOT.jar</td><td>37.06 kB</td><td>75</td><td>54</td><td>9</td><td>1.4</td><td>debug</td></tr><tr class="a"><td>axis-saaj-1.4.1-SNAPSHOT.jar</td><td>24.92 kB</td><td>40</td><td>27</td><td>1</td><td>1.4</td><td>debug</td></tr><tr class="b"><td>oro-2.0.6.jar</td><td>63.84 kB</td><td>74</td><td>62</td><td>6</td><td>1.1</td><td>release</td></tr><tr class="a"><td>wsdl4j-1.6.2.jar</td><td>144.95 kB</td><td>168</td><td>143</td><td>20</td><td>1.2</td><td>release</td></tr><tr class="b"><td>xalan-2.6.0.jar</td><td>3.00 MB</td><td>1,625</td><td>1,548</td><td>50</td><td>1.1</td><td>debug</td></tr><tr class="a"><td>xercesImpl-2.6.2.jar</td><td>986.99 kB</td><td>845</td><td>784</td><td>37</td><td>1.1</td><td>release</td></tr><tr class="b"><td>xmlParserAPIs-2.6.2.jar</td><td>121.80 kB</td><td>238</td><td>207</td><td>17</td><td>1.1</td><td>release</td></tr><tr class="a"><td>xml-apis-1.0.b2.jar</td><td>106.76 kB</td><td>217</td><td>184</td><td>17</td><td>1.2</td><td>release</td></tr><tr class="b"><td>xmlunit-1.0.jar</td><td>62.30 kB</td><td>47</td><td>41</td><td>1</td><td>1.2</td><td>debug</td></tr><tr class="a"><th>Total</th><th>Size</th><th>Entries</th><th>Classes</th><th>Packages</th><th>JDK Rev</th><th>Debug</th></tr><tr class="b"><td>15</td><td>5.34 MB</td><td>3,985</td><td>3,598</td><td>192</td><td>1.4</td><td>10</td></tr><tr class="a"><td>compile: 10</td><td>compile: 2.00 MB</td><td>compile: 1,902</td><td>compile: 1,661</td><td>compile: 112</td><td>-</td><td>compile: 7</td></tr><tr class="b"><td>test: 5</td><td>test: 3.35 MB</td><td>test: 2,083</td><td>test: 1,937</td><td>test: 80</td><td>-</td><td>test: 3</td></tr></table></div>
                  </div>
            </div>
          </div>

    <hr/>

    <footer>
            <div class="container-fluid">
              <div class="row span12">Copyright &copy;                    2000-2013
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All Rights Reserved.      
                    
      </div>

        
        
                </div>
    </footer>
  </body>
</html>