<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2022-06-23 
 | Rendered using Apache Maven Fluido Skin 1.5
-->
<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="20220623" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Shiro :: Samples :: Servlet Plugin &#x2013; Project Plugin Management</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.5.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.5.min.js"></script>

                      </head>
        <body class="topBarDisabled">
          
        
    
        <div class="container-fluid">
          <div id="banner">
        <div class="pull-left">
                                    <a href="http://shiro.apache.org" id="bannerLeft">
                                                                                        <img src="http://shiro.apache.org/images/apache-shiro-logo.png"  alt="Shiro"/>
                </a>
                      </div>
        <div class="pull-right">              <div id="bannerRight">
                                                                                        <img src="http://shiro.apache.org/images/asf_logo.png" />
                </div>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
              
                              <li class="">
                    <a href="../../index.html" title="Apache Shiro :: Samples :: Servlet Plugin">
        Apache Shiro :: Samples :: Servlet Plugin</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="../index.html" title="Apache Shiro :: Samples">
        Apache Shiro :: Samples</a>
                    <span class="divider">/</span>
      </li>
            <li class="">
                    <a href="index.html" title="Apache Shiro :: Samples :: Servlet Plugin">
        Apache Shiro :: Samples :: Servlet Plugin</a>
                    <span class="divider">/</span>
      </li>
        <li class="active ">Project Plugin Management</li>
        
              
                  <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2022-06-23</li>
              <li id="projectVersion" class="pull-right">
                    Version: 1.9.1
        </li>
            
                            </ul>
      </div>

            
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
              
                <ul class="nav nav-list">
                    <li class="nav-header">Parent Project</li>
                              
      <li>
  
                          <a href="../index.html" title="Apache Shiro :: Samples">
          <span class="none"></span>
        Apache Shiro :: Samples</a>
            </li>
                                        <li class="nav-header">Project Documentation</li>
                                                                                                                                                                                                                                                                                                                                    
      <li>
  
                          <a href="project-info.html" title="Project Information">
          <span class="icon-chevron-down"></span>
        Project Information</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="ci-management.html" title="CI Management">
          <span class="none"></span>
        CI Management</a>
            </li>
                    
      <li>
  
                          <a href="dependencies.html" title="Dependencies">
          <span class="none"></span>
        Dependencies</a>
            </li>
                    
      <li>
  
                          <a href="dependency-info.html" title="Dependency Information">
          <span class="none"></span>
        Dependency Information</a>
            </li>
                    
      <li>
  
                          <a href="dependency-management.html" title="Dependency Management">
          <span class="none"></span>
        Dependency Management</a>
            </li>
                    
      <li>
  
                          <a href="distribution-management.html" title="Distribution Management">
          <span class="none"></span>
        Distribution Management</a>
            </li>
                    
      <li>
  
                          <a href="index.html" title="About">
          <span class="none"></span>
        About</a>
            </li>
                    
      <li>
  
                          <a href="issue-management.html" title="Issue Management">
          <span class="none"></span>
        Issue Management</a>
            </li>
                    
      <li>
  
                          <a href="licenses.html" title="Licenses">
          <span class="none"></span>
        Licenses</a>
            </li>
                    
      <li>
  
                          <a href="mailing-lists.html" title="Mailing Lists">
          <span class="none"></span>
        Mailing Lists</a>
            </li>
                    
      <li class="active">
  
            <a href="#"><span class="none"></span>Plugin Management</a>
          </li>
                    
      <li>
  
                          <a href="plugins.html" title="Plugins">
          <span class="none"></span>
        Plugins</a>
            </li>
                    
      <li>
  
                          <a href="scm.html" title="Source Code Management">
          <span class="none"></span>
        Source Code Management</a>
            </li>
                    
      <li>
  
                          <a href="summary.html" title="Summary">
          <span class="none"></span>
        Summary</a>
            </li>
                    
      <li>
  
                          <a href="team.html" title="Team">
          <span class="none"></span>
        Team</a>
            </li>
              </ul>
        </li>
                                                                                                                        
      <li>
  
                          <a href="project-reports.html" title="Project Reports">
          <span class="icon-chevron-right"></span>
        Project Reports</a>
                  </li>
            </ul>
              
                
          <hr />

           <div id="poweredBy">
                            <div class="clear"></div>
                            <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="span10" >
                                  
            <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>com.github.siom79.japicmp</td>
<td><a class="externalLink" href="https://github.com/siom79/japicmp">japicmp-maven-plugin</a></td>
<td>0.14.1</td></tr>
<tr class="a">
<td>com.mycila</td>
<td><a class="externalLink" href="http://mycila.github.io/license-maven-plugin">license-maven-plugin</a></td>
<td>3.0</td></tr>
<tr class="b">
<td>org.apache.felix</td>
<td><a class="externalLink" href="http://felix.apache.org/components/bundle-plugin/">maven-bundle-plugin</a></td>
<td>5.1.4</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-antrun-plugin/">maven-antrun-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-assembly-plugin/">maven-assembly-plugin</a></td>
<td>3.3.0</td></tr>
<tr class="a">
<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.2.0</td></tr>
<tr class="b">
<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.10.1</td></tr>
<tr class="a">
<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="b">
<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="a">
<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="b">
<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.2.0</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/enforcer/maven-enforcer-plugin/">maven-enforcer-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/surefire/maven-failsafe-plugin/">maven-failsafe-plugin</a></td>
<td>3.0.0-M5</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-gpg-plugin/">maven-gpg-plugin</a></td>
<td>3.0.1</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.2.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.2.2</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.2.2</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.3.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.6.4</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.2.2</td></tr>
<tr class="a">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/maven-release/maven-release-plugin/">maven-release-plugin</a></td>
<td>3.0.0-M5</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/plugins/maven-remote-resources-plugin/">maven-remote-resources-plugin</a></td>
<td>1.7.0</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.2.0</td></tr>
<tr class="b">
<td>org.apache.maven.plugins</td>
<td><a class="externalLink" href="https://maven.apache.org/scm/maven-scm-plugin/">maven-scm-plugin</a></td>
<td>1.12.2</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.3.0</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.2.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>3.0.0-M5</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>3.0.0-M5</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.3.2</td></tr>
<tr class="b">
<td>org.apache.rat</td>
<td><a class="externalLink" href="https://creadur.apache.org/rat/apache-rat-plugin/">apache-rat-plugin</a></td>
<td>0.13</td></tr>
<tr class="a">
<td>org.codehaus.gmavenplus</td>
<td><a class="externalLink" href="http://groovy.github.io/GMavenPlus/">gmavenplus-plugin</a></td>
<td>1.8.0</td></tr>
<tr class="b">
<td>org.codehaus.mojo</td>
<td><a class="externalLink" href="https://www.mojohaus.org/aspectj-maven-plugin/aspectj-maven-plugin">aspectj-maven-plugin</a></td>
<td>1.14.0</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/versions-maven-plugin/">versions-maven-plugin</a></td>
<td>2.7</td></tr>
<tr class="a">
<td>org.eclipse.jetty</td>
<td><a class="externalLink" href="https://eclipse.org/jetty/jetty-maven-plugin">jetty-maven-plugin</a></td>
<td>9.4.47.v20220610</td></tr>
<tr class="b">
<td>org.jacoco</td>
<td><a class="externalLink" href="http://jacoco-maven-plugin">jacoco-maven-plugin</a></td>
<td>0.8.4</td></tr>
<tr class="a">
<td>org.owasp</td>
<td><a class="externalLink" href="https://github.com/jeremylong/DependencyCheck.git/dependency-check-maven">dependency-check-maven</a></td>
<td>5.2.4</td></tr></table></div>
                  </div>
            </div>
          </div>

    <hr/>

    <footer>
            <div class="container-fluid">
                      <div class="row-fluid">
                                      <p >Copyright &copy;                    2004&#x2013;2022
                        <a href="https://www.apache.org/">The Apache Software Foundation</a>.
            All rights reserved.    
      </p>
                </div>

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