<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia at 2015-07-03
 | 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="20150703" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Stand-alone Server &#x2013; 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>Stand-alone Server</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="Stand-alone Server">
        Stand-alone Server</a>
        </li>
      <li class="divider ">/</li>
        <li class="">Project Dependencies</li>
        
                
                    
                  <li id="publishDate" class="pull-right">Last Published: 2015-07-03</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 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><a name="Project_Dependencies"></a>Project Dependencies</h2><a name="Project_Dependencies_compile"></a>
<div class="section">
<h3><a name="compile"></a>compile</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-cli</td>
<td><a class="externalLink" href="http://commons.apache.org/cli/">commons-cli</a></td>
<td>1.2</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="a">
<td>commons-daemon</td>
<td><a class="externalLink" href="http://commons.apache.org/daemon/">commons-daemon</a></td>
<td>1.0.10</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>org.apache.axis</td>
<td><a class="externalLink" href="http://axis.apache.org/axis/java/core">axis-rt-core</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="a">
<td>org.mortbay.jetty</td>
<td><a class="externalLink" href="http://www.eclipse.org/jetty/jetty-parent/project/modules/jetty">jetty</a></td>
<td>6.1.26</td>
<td>jar</td>
<td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License - Version 2.0</a>-<a class="externalLink" href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License - Version 1.0</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_compile"></a>
<div class="section">
<h3><a name="compile"></a>compile</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.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.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="b">
<td>javax.servlet</td>
<td>servlet-api</td>
<td>2.4</td>
<td>jar</td>
<td>-</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>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>
<tr class="a">
<td>org.mortbay.jetty</td>
<td><a class="externalLink" href="http://www.eclipse.org/jetty/jetty-parent/project/jetty-util">jetty-util</a></td>
<td>6.1.26</td>
<td>jar</td>
<td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License - Version 2.0</a>-<a class="externalLink" href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License - Version 1.0</a></td></tr>
<tr class="b">
<td>org.mortbay.jetty</td>
<td><a class="externalLink" href="http://jetty.mortbay.org/servlet-api">servlet-api</a></td>
<td>2.5-20081211</td>
<td>jar</td>
<td><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache License Version 2.0</a></td></tr>
<tr class="a">
<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="b">
<td>xerces</td>
<td>xercesImpl</td>
<td>2.6.2</td>
<td>jar</td>
<td>-</td></tr>
<tr class="a">
<td>xerces</td>
<td>xmlParserAPIs</td>
<td>2.6.2</td>
<td>jar</td>
<td>-</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.axis:axis-standalone-server:jar:1.4.1-SNAPSHOT <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>Stand-alone Server</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>A Jetty based stand-alone Axis server that replaces the former SimpleAxisServer.</p>
<p><b>URL: </b><a class="externalLink" href="http://axis.apache.org/axis/java/standalone-server">http://axis.apache.org/axis/java/standalone-server</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-rt-core:jar:1.4.1-SNAPSHOT (compile) <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>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="_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>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="_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>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="_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>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="_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>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="_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>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="_img15" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep14', '_img15' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep14" 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="_img17" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep16', '_img17' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep16" 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="_img19" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep18', '_img19' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep18" 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="_img21" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep20', '_img21' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep20" 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="_img23" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep22', '_img23' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep22" 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></ul></li>
<li>commons-cli:commons-cli:jar:1.2 (compile) <img id="_img25" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep24', '_img25' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep24" style="display:none">
<table border="0" class="table table-striped">
<tr class="a">
<th>Commons CLI</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>Commons CLI provides a simple API for presenting, processing and validating a command line interface.</p>
<p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/cli/">http://commons.apache.org/cli/</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>commons-daemon:commons-daemon:jar:1.0.10 (compile) <img id="_img27" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep26', '_img27' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep26" style="display:none">
<table border="0" class="table table-striped">
<tr class="a">
<th>Commons Daemon</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>Apache Commons Daemon software provides an alternative invocation mechanism for unix-daemon-like Java code.</p>
<p><b>URL: </b><a class="externalLink" href="http://commons.apache.org/daemon/">http://commons.apache.org/daemon/</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>org.mortbay.jetty:jetty:jar:6.1.26 (compile) <img id="_img29" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep28', '_img29' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep28" style="display:none">
<table border="0" class="table table-striped">
<tr class="a">
<th>Jetty Server</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>Jetty server core</p>
<p><b>URL: </b><a class="externalLink" href="http://www.eclipse.org/jetty/jetty-parent/project/modules/jetty">http://www.eclipse.org/jetty/jetty-parent/project/modules/jetty</a></p>
<p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License - Version 2.0</a>, <a class="externalLink" href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License - Version 1.0</a></p></td></tr></table></div>
<ul>
<li>org.mortbay.jetty:jetty-util:jar:6.1.26 (compile) <img id="_img31" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep30', '_img31' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep30" style="display:none">
<table border="0" class="table table-striped">
<tr class="a">
<th>Jetty Utilities</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>Utility classes for Jetty</p>
<p><b>URL: </b><a class="externalLink" href="http://www.eclipse.org/jetty/jetty-parent/project/jetty-util">http://www.eclipse.org/jetty/jetty-parent/project/jetty-util</a></p>
<p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License - Version 2.0</a>, <a class="externalLink" href="http://www.eclipse.org/org/documents/epl-v10.php">Eclipse Public License - Version 1.0</a></p></td></tr></table></div></li>
<li>org.mortbay.jetty:servlet-api:jar:2.5-20081211 (compile) <img id="_img33" src="./images/icon_info_sml.gif" alt="Information" onclick="toggleDependencyDetail( '_dep32', '_img33' );" style="cursor: pointer;vertical-align:text-bottom;"></img><div id="_dep32" style="display:none">
<table border="0" class="table table-striped">
<tr class="a">
<th>Servlet Specification API</th></tr>
<tr class="b">
<td>
<p><b>Description: </b>Servlet Specification API</p>
<p><b>URL: </b><a class="externalLink" href="http://jetty.mortbay.org/servlet-api">http://jetty.mortbay.org/servlet-api</a></p>
<p><b>Project License: </b><a class="externalLink" href="http://www.apache.org/licenses/LICENSE-2.0">Apache License Version 2.0</a></p></td></tr></table></div></li></ul></li></ul></li></ul></div></div><a name="Licenses"></a>
<div class="section">
<h2><a name="Licenses"></a>Licenses</h2>
<p><b>CPL: </b>WSDL4J</p>
<p><b>Eclipse Public License - Version 1.0: </b>Jetty Server, Jetty Utilities</p>
<p><b>Unknown: </b>servlet-api, xercesImpl, xmlParserAPIs</p>
<p><b>Apache Software License - Version 2.0: </b>Jetty Server, Jetty Utilities</p>
<p><b>The Apache Software License, Version 2.0: </b>Axis Runtime Core, Commons CLI, Commons Daemon, Commons Logging, Discovery, JAX-RPC API, SAAJ API, Stand-alone Server</p>
<p><b>Common Development and Distribution License (CDDL) v1.0: </b>JavaBeans Activation Framework (JAF), JavaMail API</p>
<p><b>Apache License Version 2.0: </b>Servlet Specification API</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>commons-cli-1.2.jar</td>
<td>41.12 kB</td>
<td>35</td>
<td>22</td>
<td>1</td>
<td>1.4</td>
<td>Yes</td></tr>
<tr class="a">
<td>commons-daemon-1.0.10.jar</td>
<td>24.24 kB</td>
<td>28</td>
<td>14</td>
<td>2</td>
<td>1.3</td>
<td>Yes</td></tr>
<tr class="b">
<td>commons-discovery-0.4.jar</td>
<td>76.68 kB</td>
<td>74</td>
<td>59</td>
<td>8</td>
<td>1.1</td>
<td>Yes</td></tr>
<tr class="a">
<td>commons-logging-1.1.1.jar</td>
<td>60.69 kB</td>
<td>42</td>
<td>28</td>
<td>2</td>
<td>1.1</td>
<td>Yes</td></tr>
<tr class="b">
<td>activation-1.1.jar</td>
<td>62.98 kB</td>
<td>50</td>
<td>38</td>
<td>3</td>
<td>1.4</td>
<td>Yes</td></tr>
<tr class="a">
<td>mail-1.4.1.jar</td>
<td>447.68 kB</td>
<td>303</td>
<td>279</td>
<td>13</td>
<td>1.4</td>
<td>Yes</td></tr>
<tr class="b">
<td>servlet-api-2.4.jar</td>
<td>97.69 kB</td>
<td>67</td>
<td>42</td>
<td>2</td>
<td>1.2</td>
<td>Yes</td></tr>
<tr class="a">
<td>axis-jaxrpc-1.4.1-SNAPSHOT.jar</td>
<td>38.00 kB</td>
<td>75</td>
<td>54</td>
<td>9</td>
<td>1.4</td>
<td>Yes</td></tr>
<tr class="b">
<td>axis-rt-core-1.4.1-SNAPSHOT.jar</td>
<td>1.20 MB</td>
<td>640</td>
<td>577</td>
<td>42</td>
<td>1.4</td>
<td>Yes</td></tr>
<tr class="a">
<td>axis-saaj-1.4.1-SNAPSHOT.jar</td>
<td>25.57 kB</td>
<td>40</td>
<td>27</td>
<td>1</td>
<td>1.4</td>
<td>Yes</td></tr>
<tr class="b">
<td>jetty-6.1.26.jar</td>
<td>539.91 kB</td>
<td>267</td>
<td>237</td>
<td>14</td>
<td>1.4</td>
<td>Yes</td></tr>
<tr class="a">
<td>jetty-util-6.1.26.jar</td>
<td>177.13 kB</td>
<td>120</td>
<td>105</td>
<td>6</td>
<td>1.4</td>
<td>Yes</td></tr>
<tr class="b">
<td>servlet-api-2.5-20081211.jar</td>
<td>134.13 kB</td>
<td>79</td>
<td>42</td>
<td>2</td>
<td>1.4</td>
<td>Yes</td></tr>
<tr class="a">
<td>wsdl4j-1.6.2.jar</td>
<td>148.43 kB</td>
<td>168</td>
<td>143</td>
<td>20</td>
<td>1.2</td>
<td>No</td></tr>
<tr class="b">
<td>xercesImpl-2.6.2.jar</td>
<td>1.01 MB</td>
<td>845</td>
<td>784</td>
<td>37</td>
<td>1.1</td>
<td>No</td></tr>
<tr class="a">
<td>xmlParserAPIs-2.6.2.jar</td>
<td>124.72 kB</td>
<td>238</td>
<td>207</td>
<td>17</td>
<td>1.1</td>
<td>No</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>16</td>
<td>4.21 MB</td>
<td>3071</td>
<td>2658</td>
<td>179</td>
<td>1.4</td>
<td>13</td></tr>
<tr class="b">
<td>compile: 16</td>
<td>compile: 4.21 MB</td>
<td>compile: 3071</td>
<td>compile: 2658</td>
<td>compile: 179</td>
<td>-</td>
<td>compile: 13</td></tr></table></div>
                  </div>
            </div>
          </div>

    <hr/>

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

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