<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.11.1 at 2022-11-18 
 | 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="20221118" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Shiro :: Samples :: Spring Boot &#x2013; PMD Results</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 :: Spring Boot">
        Apache Shiro :: Samples :: Spring Boot</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 :: Spring Boot">
        Apache Shiro :: Samples :: Spring Boot</a>
                    <span class="divider">/</span>
      </li>
        <li class="active ">PMD Results</li>
        
              
                  <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2022-11-18</li>
              <li id="projectVersion" class="pull-right">
                    Version: 1.10.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-right"></span>
        Project Information</a>
                  </li>
                                                                                                                                                                                                          
      <li>
  
                          <a href="project-reports.html" title="Project Reports">
          <span class="icon-chevron-down"></span>
        Project Reports</a>
                    <ul class="nav nav-list">
                    
      <li>
  
                          <a href="apidocs/index.html" title="Javadoc">
          <span class="none"></span>
        Javadoc</a>
            </li>
                    
      <li>
  
                          <a href="xref/index.html" title="Source Xref">
          <span class="none"></span>
        Source Xref</a>
            </li>
                    
      <li>
  
                          <a href="cpd.html" title="CPD">
          <span class="none"></span>
        CPD</a>
            </li>
                    
      <li class="active">
  
            <a href="#"><span class="none"></span>PMD</a>
          </li>
                    
      <li>
  
                          <a href="surefire-report.html" title="Surefire Report">
          <span class="none"></span>
        Surefire Report</a>
            </li>
                    
      <li>
  
                          <a href="taglist.html" title="Tag List">
          <span class="none"></span>
        Tag List</a>
            </li>
                    
      <li>
  
                          <a href="jdepend-report.html" title="JDepend">
          <span class="none"></span>
        JDepend</a>
            </li>
                    
      <li>
  
                          <a href="dashboard-report.html" title="DashBoard Report">
          <span class="none"></span>
        DashBoard Report</a>
            </li>
              </ul>
        </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" >
                                  
            <section>
<h2><a name="PMD_Results"></a>PMD Results</h2>
<p>The following document contains the results of <a class="externalLink" href="https://pmd.github.io">PMD</a> 6.49.0.</p></section><section>
<h2><a name="Violations_By_Priority"></a>Violations By Priority</h2><section>
<h3><a name="Priority_3"></a>Priority 3</h3><section>
<h4><a name="org.2Fapache.2Fshiro.2Fsamples.2FQuickStart.java"></a>org/apache/shiro/samples/QuickStart.java</h4>
<table border="0" class="table table-striped">
<tr class="a">
<th>Rule</th>
<th>Violation</th>
<th>Line</th></tr>
<tr class="b">
<td><a class="externalLink" href="https://pmd.github.io/pmd-6.49.0/pmd_rules_java_bestpractices.html#unusedprivatemethod">UnusedPrivateMethod</a></td>
<td>Avoid unused private methods such as 'initStaticSecurityManager()'.</td>
<td><a href="./xref/org/apache/shiro/samples/QuickStart.html#L90">90</a></td></tr></table></section></section></section><section>
<h2><a name="Files"></a>Files</h2><section>
<h3><a name="org.2Fapache.2Fshiro.2Fsamples.2FQuickStart.java"></a>org/apache/shiro/samples/QuickStart.java</h3>
<table border="0" class="table table-striped">
<tr class="a">
<th>Rule</th>
<th>Violation</th>
<th>Priority</th>
<th>Line</th></tr>
<tr class="b">
<td><a class="externalLink" href="https://pmd.github.io/pmd-6.49.0/pmd_rules_java_bestpractices.html#unusedprivatemethod">UnusedPrivateMethod</a></td>
<td>Avoid unused private methods such as 'initStaticSecurityManager()'.</td>
<td>3</td>
<td><a href="./xref/org/apache/shiro/samples/QuickStart.html#L90">90</a></td></tr></table></section></section>
                  </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>
