<!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="20170517" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Archiva Base :: Checksum &#x2013; Project Mailing Lists</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">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-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="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>
                              </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.3" 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="">
                    <a href="../" title="Archiva :: Base">
        Archiva :: Base</a>
                    <span class="divider">/</span>
      </li>
                <li class="">
                    <a href="./" title="Archiva Base :: Checksum">
        Archiva Base :: Checksum</a>
                    <span class="divider">/</span>
      </li>
        <li class="active ">Project Mailing Lists</li>
        
                
                    
                  <li id="publishDate" class="pull-right">Last Published: 17 May 2017</li>
            
                            </ul>
      </div>

      
                
        <div id="bodyColumn" >
                                  
            <div class="section">
<h2><a name="Project_Mailing_Lists"></a>Project Mailing Lists</h2><a name="Project_Mailing_Lists"></a>
<p>These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.</p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Name</th>
<th>Subscribe</th>
<th>Unsubscribe</th>
<th>Post</th>
<th>Archive</th>
<th>Other Archives</th></tr>
<tr class="b">
<td>Archiva User List</td>
<td><a class="externalLink" href="mailto:users-subscribe@archiva.apache.org">Subscribe</a></td>
<td><a class="externalLink" href="mailto:users-unsubscribe@archiva.apache.org">Unsubscribe</a></td>
<td><a class="externalLink" href="mailto:users@archiva.apache.org">Post</a></td>
<td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/archiva-users/">mail-archives.apache.org</a></td>
<td><a class="externalLink" href="http://www.mail-archive.com/users@archiva.apache.org">www.mail-archive.com</a></td></tr>
<tr class="a">
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td><a class="externalLink" href="http://old.nabble.com/archiva-users-f16426.html">old.nabble.com</a></td></tr>
<tr class="b">
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td><a class="externalLink" href="http://markmail.org/list/org.apache.archiva.users">markmail.org</a></td></tr>
<tr class="a">
<td>Archiva Developer List</td>
<td><a class="externalLink" href="mailto:dev-subscribe@archiva.apache.org">Subscribe</a></td>
<td><a class="externalLink" href="mailto:dev-unsubscribe@archiva.apache.org">Unsubscribe</a></td>
<td><a class="externalLink" href="mailto:dev@archiva.apache.org">Post</a></td>
<td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/archiva-dev">mail-archives.apache.org</a></td>
<td><a class="externalLink" href="http://www.mail-archive.com/dev@archiva.apache.org">www.mail-archive.com</a></td></tr>
<tr class="b">
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td><a class="externalLink" href="http://old.nabble.com/archiva-dev-f16427.html">old.nabble.com</a></td></tr>
<tr class="a">
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td><a class="externalLink" href="http://markmail.org/list/org.apache.archiva.dev">markmail.org</a></td></tr>
<tr class="b">
<td>Archiva Commits List</td>
<td><a class="externalLink" href="mailto:commits-subscribe@archiva.apache.org">Subscribe</a></td>
<td><a class="externalLink" href="mailto:commits-unsubscribe@archiva.apache.org">Unsubscribe</a></td>
<td>-</td>
<td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/archiva-commits">mail-archives.apache.org</a></td>
<td><a class="externalLink" href="http://www.mail-archive.com/commits@archiva.apache.org">www.mail-archive.com</a></td></tr>
<tr class="a">
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td><a class="externalLink" href="http://markmail.org/list/org.apache.archiva.commits">markmail.org</a></td></tr>
<tr class="b">
<td>Archiva Issues List</td>
<td><a class="externalLink" href="mailto:issues-subscribe@archiva.apache.org">Subscribe</a></td>
<td><a class="externalLink" href="mailto:issues-unsubscribe@archiva.apache.org">Unsubscribe</a></td>
<td>-</td>
<td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/archiva-issues">mail-archives.apache.org</a></td>
<td><a class="externalLink" href="http://www.mail-archive.com/issues@archiva.apache.org">www.mail-archive.com</a></td></tr>
<tr class="a">
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td><a class="externalLink" href="http://old.nabble.com/Archiva---Issues-f29617.html">old.nabble.com</a></td></tr>
<tr class="b">
<td>Archiva Notifications List</td>
<td><a class="externalLink" href="mailto:notifications-subscribe@archiva.apache.org">Subscribe</a></td>
<td><a class="externalLink" href="mailto:notifications-unsubscribe@archiva.apache.org">Unsubscribe</a></td>
<td>-</td>
<td><a class="externalLink" href="http://mail-archives.apache.org/mod_mbox/archiva-notifications/">mail-archives.apache.org</a></td>
<td><a class="externalLink" href="http://www.mail-archive.com/notifications@archiva.apache.org">www.mail-archive.com</a></td></tr>
<tr class="a">
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td><a class="externalLink" href="http://archiva.notifications.markmail.org/">archiva.notifications.markmail.org</a></td></tr></table></div>
                  </div>
          </div>

    <hr/>

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