<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.8.1 from org.apache.maven.plugins:maven-project-info-reports-plugin:3.0.0:plugin-management
 | Rendered using Apache Maven Fluido Skin 1.7.1-HBase
-->
<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 http-equiv="Content-Language" content="en" />
    <title>Apache HBase &#x2013; Project Plugin Management</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.7.1-HBase.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.7.1-HBase.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0"></meta>
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap-responsive.min.css"/>
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/styles/github.min.css"/>
      <link rel="stylesheet" href="css/site.css"/>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.9.1/highlight.min.js"></script>
  </head>
  <body class="topBarEnabled">
    <div id="topbar" class="navbar navbar-fixed-top ">
      <div class="navbar-inner">
            <div class="container">
              <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar">
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
                  <span class="icon-bar"></span>
              </a>
              <div class="nav-collapse">
            <ul class="nav">
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Apache HBase Project <b class="caret"></b></a>
        <ul class="dropdown-menu">
            <li><a href="index.html" title="Overview">Overview</a></li>
            <li><a href="licenses.html" title="License">License</a></li>
            <li><a href="http://www.apache.org/dyn/closer.cgi/hbase/" title="Downloads">Downloads</a></li>
            <li><a href="https://issues.apache.org/jira/browse/HBASE?report=com.atlassian.jira.plugin.system.project:changelog-panel#selectedTab=com.atlassian.jira.plugin.system.project%3Achangelog-panel" title="Release Notes">Release Notes</a></li>
            <li><a href="coc.html" title="Code Of Conduct">Code Of Conduct</a></li>
            <li><a href="http://blogs.apache.org/hbase/" title="Blog">Blog</a></li>
            <li><a href="mailing-lists.html" title="Mailing Lists">Mailing Lists</a></li>
            <li><a href="team.html" title="Team">Team</a></li>
            <li><a href="https://reviews.apache.org/" title="ReviewBoard">ReviewBoard</a></li>
            <li><a href="sponsors.html" title="Thanks">Thanks</a></li>
            <li><a href="poweredbyhbase.html" title="Powered by HBase">Powered by HBase</a></li>
            <li><a href="resources.html" title="Other resources">Other resources</a></li>
        </ul>
      </li>
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Information <b class="caret"></b></a>
        <ul class="dropdown-menu">
            <li><a href="summary.html" title="Project Summary">Project Summary</a></li>
            <li><a href="dependency-info.html" title="Dependency Information">Dependency Information</a></li>
            <li><a href="scm.html" title="Source Repository">Source Repository</a></li>
            <li><a href="issue-management.html" title="Issue Tracking">Issue Tracking</a></li>
            <li><a href="dependency-management.html" title="Dependency Management">Dependency Management</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="plugin-management.html" title="Plugin Management">Plugin Management</a></li>
            <li><a href="plugins.html" title="Plugins">Plugins</a></li>
        </ul>
      </li>
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Documentation and API <b class="caret"></b></a>
        <ul class="dropdown-menu">
            <li><a href="book.html" target="_blank" title="Reference Guide">Reference Guide</a></li>
            <li><a href="apache_hbase_reference_guide.pdf" target="_blank" title="Reference Guide (PDF)">Reference Guide (PDF)</a></li>
            <li><a href="book.html#quickstart" target="_blank" title="Getting Started">Getting Started</a></li>
            <li><a href="apidocs/index.html" target="_blank" title="User API">User API</a></li>
            <li><a href="testapidocs/index.html" target="_blank" title="User API (Test)">User API (Test)</a></li>
            <li><a href="https://hbase.apache.org/2.0/devapidocs/index.html" target="_blank" title="Developer API">Developer API</a></li>
            <li><a href="https://hbase.apache.org/2.0/testdevapidocs/index.html" target="_blank" title="Developer API (Test)">Developer API (Test)</a></li>
            <li><a href="http://abloz.com/hbase/book.html" target="_blank" title="中文参考指南(单页)">中文参考指南(单页)</a></li>
            <li><a href="book.html#faq" target="_blank" title="FAQ">FAQ</a></li>
            <li><a href="book.html#other.info" target="_blank" title="Videos/Presentations">Videos/Presentations</a></li>
            <li><a href="http://wiki.apache.org/hadoop/Hbase" target="_blank" title="Wiki">Wiki</a></li>
            <li><a href="acid-semantics.html" target="_blank" title="ACID Semantics">ACID Semantics</a></li>
            <li><a href="book.html#arch.bulk.load" target="_blank" title="Bulk Loads">Bulk Loads</a></li>
            <li><a href="metrics.html" target="_blank" title="Metrics">Metrics</a></li>
            <li><a href="cygwin.html" target="_blank" title="HBase on Windows">HBase on Windows</a></li>
            <li><a href="book.html#replication" target="_blank" title="Cluster replication">Cluster replication</a></li>
            <li class="dropdown-submenu">
<a href="" title="1.2 Documentation">1.2 Documentation</a>
              <ul class="dropdown-menu">
                  <li><a href="1.2/apidocs/index.html" target="_blank" title="API">API</a></li>
                  <li><a href="1.2/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
                  <li><a href="1.2/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
              </ul>
            </li>
            <li class="dropdown-submenu">
<a href="" title="1.1 Documentation">1.1 Documentation</a>
              <ul class="dropdown-menu">
                  <li><a href="1.1/apidocs/index.html" target="_blank" title="API">API</a></li>
                  <li><a href="1.1/xref/index.html" target="_blank" title="X-Ref">X-Ref</a></li>
                  <li><a href="1.1/book.html" target="_blank" title="Ref Guide (single-page)">Ref Guide (single-page)</a></li>
              </ul>
            </li>
        </ul>
      </li>
      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
        <ul class="dropdown-menu">
            <li><a href="http://www.apache.org/foundation/" target="_blank" title="Apache Software Foundation">Apache Software Foundation</a></li>
            <li><a href="http://www.apache.org/foundation/how-it-works.html" target="_blank" title="How Apache Works">How Apache Works</a></li>
            <li><a href="http://www.apache.org/foundation/sponsorship.html" target="_blank" title="Sponsoring Apache">Sponsoring Apache</a></li>
        </ul>
      </li>
            </ul>
    <div id="search-form" class="navbar-search pull-right">
      <script type="text/javascript">
      var cx = '000385458301414556862:sq1bb0xugjg';

      (function() {
        var gcse = document.createElement('script');
        gcse.type = 'text/javascript';
        gcse.async = true;
        gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
        var s = document.getElementsByTagName('script')[0];
        s.parentNode.insertBefore(gcse, s);
      })();

      </script>
      <gcse:search></gcse:search>
  </div>
            </div>
        </div>
      </div>
    </div>
    <div class="container">
      <div id="banner">
        <div class="pull-left"><a href="./" id="bannerLeft"><img src=""  alt=""/></a></div>
        <div class="pull-right"><a href="./" id="bannerRight"><img src="images/hbase_logo_with_orca_large.png"  alt="Apache HBase"/></a></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        </ul>
      </div>
        <div id="bodyColumn" >
<div class="section">
<h2><a name="Project_Plugin_Management"></a>Project Plugin Management</h2><a name="Project_Plugin_Management"></a>
<table border="0" class="table table-striped">
<tr class="a">
<th>GroupId</th>
<th>ArtifactId</th>
<th>Version</th></tr>
<tr class="b">
<td>net.revelc.code</td>
<td><a class="externalLink" href="http://code.revelc.net/warbucks-maven-plugin">warbucks-maven-plugin</a></td>
<td>1.1.0</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-antrun-plugin/">maven-antrun-plugin</a></td>
<td>1.8</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-assembly-plugin/">maven-assembly-plugin</a></td>
<td>3.0.0</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-checkstyle-plugin/">maven-checkstyle-plugin</a></td>
<td>3.0.0</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-clean-plugin/">maven-clean-plugin</a></td>
<td>3.1.0</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-compiler-plugin/">maven-compiler-plugin</a></td>
<td>3.7.0</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-dependency-plugin/">maven-dependency-plugin</a></td>
<td>3.1.1</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-deploy-plugin/">maven-deploy-plugin</a></td>
<td>2.8.2</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-docck-plugin/">maven-docck-plugin</a></td>
<td>1.1</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-ear-plugin/">maven-ear-plugin</a></td>
<td>3.0.1</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-eclipse-plugin/">maven-eclipse-plugin</a></td>
<td>2.10</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/enforcer/maven-enforcer-plugin">maven-enforcer-plugin</a></td>
<td>1.4.1</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/surefire/maven-failsafe-plugin/">maven-failsafe-plugin</a></td>
<td>2.22.2</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-gpg-plugin/">maven-gpg-plugin</a></td>
<td>1.6</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-help-plugin/">maven-help-plugin</a></td>
<td>3.1.0</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-install-plugin/">maven-install-plugin</a></td>
<td>2.5.2</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-invoker-plugin/">maven-invoker-plugin</a></td>
<td>3.1.0</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-jar-plugin/">maven-jar-plugin</a></td>
<td>3.1.0</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-javadoc-plugin/">maven-javadoc-plugin</a></td>
<td>3.0.1</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugin-tools/maven-plugin-plugin">maven-plugin-plugin</a></td>
<td>3.5.2</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-project-info-reports-plugin/">maven-project-info-reports-plugin</a></td>
<td>3.0.0</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/maven-release/maven-release-plugin/">maven-release-plugin</a></td>
<td>2.5.3</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/plugins/maven-remote-resources-plugin/">maven-remote-resources-plugin</a></td>
<td>1.5</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-resources-plugin/">maven-resources-plugin</a></td>
<td>3.1.0</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="http://maven.apache.org/scm/maven-scm-plugin/">maven-scm-plugin</a></td>
<td>1.9.5</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-scm-publish-plugin/">maven-scm-publish-plugin</a></td>
<td>3.0.0</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-shade-plugin/">maven-shade-plugin</a></td>
<td>3.1.1</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-site-plugin/">maven-site-plugin</a></td>
<td>3.7.1</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-source-plugin/">maven-source-plugin</a></td>
<td>3.0.1</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/surefire/maven-surefire-plugin/">maven-surefire-plugin</a></td>
<td>2.22.2</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/surefire/maven-surefire-report-plugin/">maven-surefire-report-plugin</a></td>
<td>2.22.2</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-war-plugin/">maven-war-plugin</a></td>
<td>3.2.2</td></tr>
<tr class="b">
<td>org.apache.rat</td>
<td><a class="externalLink" href="http://creadur.apache.org/rat/apache-rat-plugin/">apache-rat-plugin</a></td>
<td>0.12</td></tr>
<tr class="a">
<td>org.codehaus.mojo</td>
<td><a class="externalLink" href="http://www.mojohaus.org/build-helper-maven-plugin/">build-helper-maven-plugin</a></td>
<td>3.0.0</td></tr>
<tr class="b">
<td>org.codehaus.mojo</td>
<td><a class="externalLink" href="http://www.mojohaus.org/buildnumber-maven-plugin/buildnumber-maven-plugin">buildnumber-maven-plugin</a></td>
<td>1.4</td></tr>
<tr class="a">
<td>org.codehaus.mojo</td>
<td><a class="externalLink" href="http://www.mojohaus.org/clirr-maven-plugin/clirr-maven-plugin">clirr-maven-plugin</a></td>
<td>2.8</td></tr>
<tr class="b">
<td>org.codehaus.mojo</td>
<td><a class="externalLink" href="http://gleclaire.github.io/findbugs-maven-plugin/">findbugs-maven-plugin</a></td>
<td>3.0.4</td></tr>
<tr class="a">
<td>org.eclipse.m2e</td>
<td>lifecycle-mapping</td>
<td>1.0.0</td></tr>
<tr class="b">
<td>org.jamon</td>
<td><a class="externalLink" href="http://www.jamon.org/jamon-java-parent/jamon-maven-plugin/">jamon-maven-plugin</a></td>
<td>2.4.2</td></tr>
<tr class="a">
<td>org.xolstice.maven.plugins</td>
<td><a class="externalLink" href="https://www.xolstice.org/protobuf-maven-plugin">protobuf-maven-plugin</a></td>
<td>0.5.0</td></tr></table></div>
        </div>
    </div>
    <hr/>
    <footer>
      <div class="container">
        <div class="row">
            <p>Copyright &copy;2007&#x2013;2019
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.        <li id="publishDate" class="pull-right">Last Published: 2019-08-14</li>
</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>
    </footer>
  </body>
</html>
