<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.9.2 from org.apache.rat:apache-rat-plugin:0.12:rat at 2020-04-20
 | Rendered using Apache Maven Fluido Skin 1.9
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="generator" content="Apache Maven Doxia Site Renderer 1.9.2" />
    <title>Apache Struts &#x2013; Rat (Release Audit Tool) results</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.9.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
    <script src="./js/apache-maven-fluido-1.9.min.js"></script>
  </head>
  <body class="topBarDisabled">
    <div class="container-fluid">
      <header>
        <div id="banner">
          <div class="pull-left"><a href="http://www.apache.org/" id="bannerLeft"><img src="http://www.apache.org/images/asf-logo.gif"  alt="Apache Software Foundation"/></a></div>
          <div class="pull-right"><a href="http://struts.apache.org/" id="bannerRight"><img src="http://struts.apache.org/img/struts-logo.svg"  alt="Apache Struts"/></a></div>
          <div class="clear"><hr/></div>
        </div>

        <div id="breadcrumbs">
          <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2020-04-20</li>
      <li id="projectVersion" class="pull-right">Version: 2.6-SNAPSHOT</li>
      <li class="pull-right"><span class="divider">|</span>
<a href="http://struts.apache.org/" class="externalLink" title="Struts">Struts</a></li>
      <li class="pull-right"><a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a></li>
          </ul>
        </div>
      </header>
      <div class="row-fluid">
        <header id="leftColumn" class="span2">
          <nav class="well sidebar-nav">
  <ul class="nav nav-list">
   <li class="nav-header">Top Site</li>
    <li><a href="http://struts.apache.org/" class="externalLink" title="Apache Struts"><span class="none"></span>Apache Struts</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 class="active"><a href="#"><span class="none"></span>Rat Report</a></li>
      <li><a href="dependency-check-report.html" title="Dependency Check"><span class="none"></span>Dependency Check</a></li>
      <li><a href="dependency-updates-report.html" title="Dependency Updates Report"><span class="none"></span>Dependency Updates Report</a></li>
      <li><a href="plugin-updates-report.html" title="Plugin Updates Report"><span class="none"></span>Plugin Updates Report</a></li>
      <li><a href="property-updates-report.html" title="Property Updates Report"><span class="none"></span>Property Updates Report</a></li>
     </ul></li>
   <li class="nav-header">Modules</li>
    <li><a href="struts2-core/index.html" title="Struts 2 Core"><span class="none"></span>Struts 2 Core</a></li>
    <li><a href="struts2-plugins/index.html" title="Struts Plugins"><span class="none"></span>Struts Plugins</a></li>
    <li><a href="struts2-osgi-bundles/index.html" title="Struts OSGi Bundles"><span class="none"></span>Struts OSGi Bundles</a></li>
  </ul>
          </nav>
          <div class="well sidebar-nav">
            <hr />
            <div id="poweredBy">
              <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>
        </header>
        <main id="bodyColumn"  class="span10" >
<section>
<h2><a name="Rat_.28Release_Audit_Tool.29_results"></a>Rat (Release Audit Tool) results</h2>
<p>The following document contains the results of <a class="externalLink" href="http://creadur.apache.org/rat/apache-rat-plugin/">Rat (Release Audit Tool)</a>.</p>
<p></p>
<div class="source"><pre class="prettyprint">
*****************************************************
Summary
-------
Generated at: 2020-04-20T20:09:38+02:00

Notes: 0
Binaries: 0
Archives: 0
Standards: 3

Apache Licensed: 3
Generated Documents: 0

JavaDocs are generated, thus a license header is optional.
Generated files do not require license headers.

0 Unknown Licenses

*****************************************************
  Files with Apache License headers will be marked AL
  Binary files (which do not require any license headers) will be marked B
  Compressed archives will be marked A
  Notices, licenses etc. will be marked N
  AL    pom.xml
  AL    src/etc/project-suppression.xml
  AL    src/site/site.xml
 
*****************************************************
</pre></div></section>
        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
<div class="row span12">
            Apache Struts, Struts, Apache, the Apache feather logo, and the Apache Struts project
            logos are trademarks of The Apache Software Foundation.
            </div>
        </div>
      </div>
    </footer>
  </body>
</html>
