<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">










<html>
  <head>
    <title>IMAP - Project Dependency Management</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
      </head>
  <body class="composite">
    <div id="banner">
                  <a href="http://james.apache.org/index.html" id="bannerLeft">
    
                                            <img src="images/james-imap-logo.gif" alt="" />
    
            </a>
                        <a href="http://www.apache.org/index.html" id="bannerRight">
    
                                            <img src="images/asf-logo-reduced.gif" alt="" />
    
            </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
          
  

  
    
  
  
            <div class="xleft">
        Last Published: 12/03/2008
                      </div>
            <div class="xright">      <a href="../index.html">JAMES Project</a>
          |
          <a href="../server/index.html">Server</a>
          |
          <a href="../mailet/index.html">Mailets</a>
          |
          <a href="../jspf/index.html">jSPF</a>
          |
          <a href="../mime4j/index.html">Mime4J</a>
          |
          <a href="../jsieve/index.html">JSieve</a>
          |
          <a href="../postage/index.html">Postage</a>
          
  

  
    
  
  
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
           
  

  
    
  
  
                   <h5>Project Documentation</h5>
        <ul>
              
                
              
      
            
      
            
      
            
      
            
            
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
              
            <li class="expanded">
              <a href="project-info.html">Project Information</a>
                <ul>
                  
    <li class="none">
              <a href="index.html">About</a>
        </li>
                  
    <li class="none">
              <a href="integration.html">Continuous Integration</a>
        </li>
                  
    <li class="none">
              <a href="dependencies.html">Dependencies</a>
        </li>
                  
    <li class="none">
              <a href="dependency-convergence.html">Dependency Convergence</a>
        </li>
                  
    <li class="none">
              <strong>Dependency Management</strong>
        </li>
                  
    <li class="none">
              <a href="issue-tracking.html">Issue Tracking</a>
        </li>
                  
    <li class="none">
              <a href="mail-lists.html">Mailing Lists</a>
        </li>
                  
    <li class="none">
              <a href="plugin-management.html">Plugin Management</a>
        </li>
                  
    <li class="none">
              <a href="license.html">Project License</a>
        </li>
                  
    <li class="none">
              <a href="plugins.html">Project Plugins</a>
        </li>
                  
    <li class="none">
              <a href="project-summary.html">Project Summary</a>
        </li>
                  
    <li class="none">
              <a href="team-list.html">Project Team</a>
        </li>
                  
    <li class="none">
              <a href="source-repository.html">Source Repository</a>
        </li>
              </ul>
        </li>
              
                
              
      
              
        <li class="collapsed">
              <a href="project-reports.html">Project Reports</a>
              </li>
          </ul>
          <h5>Useful Information</h5>
        <ul>
              
    <li class="none">
              <a href="http://jakarta.apache.org/site/getinvolved.html">Get Involved</a>
        </li>
              
    <li class="none">
              <a href="http://jakarta.apache.org/site/library.html">Reference Library</a>
        </li>
          </ul>
          <h5>The Apache Software Foundation</h5>
        <ul>
              
    <li class="none">
              <a href="http://apache.org/foundation/faq.html">FAQ</a>
        </li>
              
    <li class="none">
              <a href="http://apache.org/foundation/sponsorship.html">Sponsorship</a>
        </li>
              
    <li class="none">
              <a href="http://apache.org/foundation/contributing.html">Donations</a>
        </li>
              
    <li class="none">
              <a href="http://apache.org/foundation/thanks.html">Thanks</a>
        </li>
          </ul>
          <h5>Downloads</h5>
        <ul>
              
    <li class="none">
              <a href="../download.cgi">Stable releases</a>
        </li>
              
    <li class="none">
              <a href="../downloadunstable.cgi">Unstable releases</a>
        </li>
              
    <li class="none">
              <a href="http://people.apache.org/builds/james/nightly/">Nightly builds</a>
        </li>
          </ul>
                                       <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy">
            <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
          </a>
                       
  

  
    
  
  
        </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <div class="section"><h2>Project Dependency Management</h2><div class="section"><h3>compile</h3><p>The following is a list of compile dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile and run the submodule:</p><table class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th></tr><tr class="b"><td>commons-collections</td><td>commons-collections</td><td>3.1</td><td>jar</td></tr><tr class="a"><td>commons-collections</td><td>commons-collections</td><td>3.1</td><td>jar</td></tr><tr class="b"><td>commons-configuration</td><td><a href="http://jakarta.apache.org/commons/configuration/">commons-configuration</a></td><td>1.1</td><td>jar</td></tr><tr class="a"><td>commons-dbcp</td><td><a href="http://jakarta.apache.org/commons/dbcp/">commons-dbcp</a></td><td>1.2.1</td><td>jar</td></tr><tr class="b"><td>commons-lang</td><td>commons-lang</td><td>2.1</td><td>jar</td></tr><tr class="a"><td>commons-logging</td><td>commons-logging</td><td>1.1</td><td>jar</td></tr><tr class="b"><td>commons-pool</td><td><a href="http://jakarta.apache.org/commons/pool/">commons-pool</a></td><td>1.2</td><td>jar</td></tr><tr class="a"><td>concurrent</td><td>concurrent</td><td>1.3.4</td><td>jar</td></tr><tr class="b"><td>javax.activation</td><td>activation</td><td>1.1.1</td><td>jar</td></tr><tr class="a"><td>javax.mail</td><td>mail</td><td>1.4.1</td><td>jar</td></tr><tr class="b"><td>junit</td><td><a href="http://junit.org">junit</a></td><td>3.8.1</td><td>jar</td></tr><tr class="a"><td>org.apache.db.torque</td><td><a href="http://db.apache.org/torque/runtime">runtime</a></td><td>3.3-RC2</td><td>jar</td></tr><tr class="b"><td>org.apache.geronimo.javamail</td><td><a href="http://geronimo.apache.org/maven/javamail/1.6/geronimo-javamail_1.4_mail">geronimo-javamail_1.4_mail</a></td><td>1.6</td><td>jar</td></tr><tr class="a"><td>org.apache.geronimo.specs</td><td><a href="http://geronimo.apache.org/specs/geronimo-activation_1.1_spec">geronimo-activation_1.1_spec</a></td><td>1.0.2</td><td>jar</td></tr><tr class="b"><td>org.apache.james</td><td><a href="http://james.apache.org/imap/apache-james-imap-api">apache-james-imap-api</a></td><td>0.1-SNAPSHOT</td><td>jar</td></tr><tr class="a"><td>org.apache.james</td><td><a href="http://james.apache.org/imap/apache-james-imap-decode">apache-james-imap-decode</a></td><td>0.1-SNAPSHOT</td><td>jar</td></tr><tr class="b"><td>org.apache.james</td><td><a href="http://james.apache.org/imap/apache-james-imap-mailbox">apache-james-imap-mailbox</a></td><td>0.1-SNAPSHOT</td><td>jar</td></tr><tr class="a"><td>org.apache.james</td><td><a href="http://james.apache.org/imap/apache-james-imap-message">apache-james-imap-message</a></td><td>0.1-SNAPSHOT</td><td>jar</td></tr><tr class="b"><td>org.apache.james</td><td><a href="http://james.apache.org/imap/apache-james-imap-processor">apache-james-imap-processor</a></td><td>0.1-SNAPSHOT</td><td>jar</td></tr><tr class="a"><td>org.apache.james</td><td><a href="http://james.apache.org/imap/apache-james-imap-seda">apache-james-imap-seda</a></td><td>0.1-SNAPSHOT</td><td>jar</td></tr><tr class="b"><td>org.apache.james</td><td><a href="http://james.apache.org/imap/apache-james-imap-torque">apache-james-imap-torque</a></td><td>0.1-SNAPSHOT</td><td>jar</td></tr><tr class="a"><td>org.apache.james</td><td><a href="http://james.apache.org/mime4j">apache-mime4j</a></td><td>0.4</td><td>jar</td></tr><tr class="b"><td>village</td><td><a href="http://share.whichever.com/index.php?SCREEN=village">village</a></td><td>2.0</td><td>jar</td></tr></table></div><div class="section"><h3>runtime</h3><p>The following is a list of runtime dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to run the submodule:</p><table class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th></tr><tr class="b"><td>commons-beanutils</td><td>commons-beanutils</td><td>1.7.0</td><td>jar</td></tr><tr class="a"><td>org.apache.derby</td><td><a href="http://db.apache.org/derby/">derby</a></td><td>10.2.2.0</td><td>jar</td></tr></table></div><div class="section"><h3>test</h3><p>The following is a list of test dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile and run unit tests for the submodule:</p><table class="bodyTable"><tr class="b"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th></tr><tr class="a"><td>commons-io</td><td><a href="http://jakarta.apache.org/commons/io/">commons-io</a></td><td>1.2</td><td>jar</td></tr><tr class="b"><td>jmock</td><td><a href="http://www.jmock.org/">jmock</a></td><td>1.1.0</td><td>jar</td></tr><tr class="a"><td>jmock</td><td><a href="http://www.jmock.org/">jmock</a></td><td>1.1.0</td><td>jar</td></tr><tr class="b"><td>org.apache.james</td><td><a href="http://james.apache.org/imap/apache-james-imap-api">apache-james-imap-api</a></td><td>0.1-SNAPSHOT</td><td>test-jar</td></tr><tr class="a"><td>org.apache.james</td><td><a href="http://james.apache.org/imap/apache-james-imap-protocol-tester">apache-james-imap-protocol-tester</a></td><td>0.1-SNAPSHOT</td><td>jar</td></tr><tr class="b"><td>org.apache.james</td><td><a href="http://james.apache.org/imap/apache-james-imap-seda">apache-james-imap-seda</a></td><td>0.1-SNAPSHOT</td><td>test-jar</td></tr></table></div><div class="section"><h3>provided</h3><p>The following is a list of provided dependencies in the DependencyManagement of this project. These dependencies can be included in the submodules to compile the submodule, but should be provided by default when using the library:</p><table class="bodyTable"><tr class="a"><th>GroupId</th><th>ArtifactId</th><th>Version</th><th>Type</th></tr><tr class="b"><td>xml-apis</td><td>xml-apis</td><td>2.0.2</td><td>jar</td></tr></table></div></div>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">&#169;  
          2002-2008
    
          The Apache Software Foundation
          
  

  
    
  
  
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
    </script>
    <script type="text/javascript">
      _uacct = "UA-1384591-1";
      urchinTracker();
    </script>
  </body>
</html>
