<!DOCTYPE html>


<!--
 | Generated by Apache Maven Doxia Site Renderer 2.0.0 from src/site/apt/examples/site.apt.vm at 2025-09-21
 | Rendered using Apache Maven Fluido Skin 2.1.0
-->
<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 2.0.0" />
    <title>Adding a report to the generated site – Apache RAT™ Plugin for Apache Maven</title>
    <link rel="stylesheet" href="../css/apache-maven-fluido-2.1.0.min.css" />
    <link rel="stylesheet" href="../css/site.css" />
    <link rel="stylesheet" href="../css/print.css" media="print" />
    <script src="../js/apache-maven-fluido-2.1.0.min.js"></script>
<link href="https://creadur.apache.org/font/matesc.css" type="text/css" rel="stylesheet" />
  </head>
  <body>
    <a class="github-fork-ribbon right-top" href="https://github.com/apache/creadur-rat" data-ribbon="Fork me on GitHub">Fork me on GitHub</a>
    <div class="container-fluid container-fluid-top">
      <header>
        <div id="banner">
          <div class="pull-left"><div id="bannerLeft"><h1><a href="https://www.apache.org/"><img src="https://www.apache.org/img/asf_logo.png" alt="The Apache Software Foundation" /> Apache RAT</a></h1></div></div>
          <div class="pull-right"></div>
          <div class="clear"><hr/></div>
        </div>

        <div id="breadcrumbs">
          <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2025-09-21<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 0.17-SNAPSHOT<span class="divider">|</span></li>
      <li><a href="https://www.apache.org/">Apache</a><span class="divider">/</span></li>
      <li><a href="../../../">Creadur</a><span class="divider">/</span></li>
      <li><a href="../../">RAT</a><span class="divider">/</span></li>
      <li><a href="../index.html">Apache RAT™ Plugin for Apache Maven</a><span class="divider">/</span></li>
    <li class="active">Adding a report to the generated site</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">Parent Project</li>
    <li><a href="../../index.html">Apache Creadur RAT</a></li>
   <li class="nav-header">Overview</li>
    <li><a href="../index.html">Introduction</a></li>
    <li><a href="../plugin-info.html">Goals</a></li>
    <li><a href="../usage.html">Usage</a></li>
    <li><a href="../mvn_options.html">Maven Options</a></li>
    <li><a href="../faq.html">FAQ</a></li>
   <li class="nav-header">Examples</li>
    <li><a href="../examples/basic.html">Basic use</a></li>
    <li><a href="../examples/verify.html">Running the plugin automatically</a></li>
    <li class="active"><a>Adding a report to the site</a></li>
    <li><a href="../examples/custom-license.html">Custom license</a></li>
   <li class="nav-header">Project Documentation</li>
    <li><a href="../project-info.html"><span class="icon-chevron-right"></span>Project Information</a></li>
    <li><a href="../project-reports.html"><span class="icon-chevron-right"></span>Project Reports</a></li>
   <li class="nav-header">Apache RAT™</li>
    <li><a href="../../index.html">Introducing RAT</a></li>
    <li><a href="../../download_rat.cgi">Downloads</a></li>
    <li><a href="../../changes.html">Changes</a></li>
   <li class="nav-header">RAT from the Command Line</li>
    <li><a href="../../apache-rat/index.html">Command Line Introduction</a></li>
    <li><a href="../../apache-rat/cli_options.html">Command Line Options</a></li>
    <li><a href="../../apache-rat/env_vars.html">Environment Variables</a></li>
    <li><a href="../../apache-rat-core/exclusion_expression.html">Exclusion Expressions</a></li>
    <li><a href="../../apache-rat/standard_collections.html">Standard Collections</a></li>
   <li class="nav-header">RAT from Ant</li>
    <li><a href="../../apache-rat-tasks/index.html">Ant Task Introduction</a></li>
    <li><a href="../../apache-rat-tasks/ant_options.html">Ant Elements and Attributes</a></li>
   <li class="nav-header">RAT from Maven</li>
    <li><a href="../../apache-rat-plugin/index.html">Maven Plugin Introduction</a></li>
    <li><a href="../../apache-rat-plugin/mvn_options.html">Maven Options</a></li>
    <li><a href="../../apache-rat-plugin/examples/index.html">Maven Examples</a></li>
   <li class="nav-header">Configuring RAT</li>
    <li><a href="../../apache-rat/name_xref.html">Option Name Cross Reference</a></li>
    <li><a href="../../apache-rat/default_licenses.html">Default Licenses</a></li>
    <li><a href="../../apache-rat/default_matchers.html">Default Matchers</a></li>
    <li><a href="../../license_def.html">Defining New Licenses</a></li>
    <li><a href="../../apache-rat/xsd.html">Configuration XSD</a></li>
    <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/default.xml">Default Configuration</a></li>
    <li><a href="../../apache-rat/detecting_generated_files.html">Detecting Generated Files</a></li>
   <li class="nav-header">RAT Output</li>
    <li><a href="../../apache-rat/output/example.html">Standard Output Example</a></li>
    <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/rat-report.xsd">Output XSD</a></li>
    <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/plain-rat.xsl">XSLT - Plain text</a></li>
    <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/missing-headers.xsl">XSLT - Missing headers list</a></li>
    <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/unapproved-licenses.xsl">XSLT - Unapproved licenses list</a></li>
   <li class="nav-header">Developing RAT</li>
    <li><a href="../../architecture.html">Architecture</a></li>
    <li><a href="../../apidocs/index.html">Javadocs</a></li>
    <li><a href="../../apache-rat-core/development/document_name.html">Document Name concept</a></li>
    <li><a href="../../development/ui_implementation.html">UI Development</a></li>
    <li><a href="../../apache-rat-core/development/write_file_processor.html">Writing a File Processor</a></li>
   <li class="nav-header">Apache Creadur™</li>
    <li><a href="../../..">Creadur Project Home</a></li>
    <li><a href="../../../tentacles">Apache Tentacles</a></li>
    <li><a href="../../../whisker">Apache Whisker</a></li>
    <li><a href="https://www.apache.org/security/">Security</a></li>
    <li><a href="https://www.apache.org/licenses/">License</a></li>
    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
    <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
    <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
   <li class="nav-header">The Apache Software Foundation</li>
    <li><a href="https://www.apache.org/foundation">About the Foundation</a></li>
    <li><a href="https://projects.apache.org">The projects</a></li>
    <li><a href="https://people.apache.org">The people</a></li>
    <li><a href="https://www.apache.org/foundation/how-it-works.html">How we work</a></li>
    <li><a href="https://www.apache.org/foundation/how-it-works.html#history">Our history</a></li>
    <li><a href="https://blogs.apache.org/foundation/">News</a></li>
   <li class="nav-header">Contribute</li>
    <li><a href="https://www.apache.org/foundation/getinvolved.html">Get Involved</a></li>
   <li class="nav-header">Committer Info</li>
    <li><a href="https://www.apache.org/dev/committers.html">ASF Committers&apos; FAQ</a></li>
    <li><a href="https://www.apache.org/dev/new-committers-guide.html">New Committers Guide</a></li>
    <li><a href="https://gitbox.apache.org/repos/asf/creadur-site/blob/asf-site/README.md">How to publish this site</a></li>
    <li><a href="https://community.apache.org/">Community</a></li>
    <li><a href="https://www.apache.org/legal/">Legal</a></li>
    <li><a href="https://www.apache.org/foundation/marks/">Branding</a></li>
    <li><a href="https://www.apache.org/press/">Media Relations</a></li>
  </ul>
          </nav>
          <div class="well sidebar-nav">
            <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
<a href="https://maven.apache.org/" class="builtBy"><img class="builtBy" src="https://maven.apache.org/images/logos/maven-feather.png" /> Maven</a>
            </div>
          </div>
        </header>
        <main id="bodyColumn" class="span10">
<section><a id="Adding_a_report_to_the_generated_site"></a>
<h1>Adding a report to the generated site</h1>
<p>The typical use case is that you want the plugin to run whenever you invoke</p>
<pre>  mvn site</pre>
<p>That way, the report will be added to the generated site. This is done by simply adding the following section to your POM:</p>
<pre>  &lt;reporting&gt;
    &lt;plugins&gt;
      ...
      &lt;plugin&gt;
        &lt;groupId&gt;org.apache.rat&lt;/groupId&gt;
        &lt;artifactId&gt;apache-rat-plugin&lt;/artifactId&gt;
        &lt;version&gt;0.17-SNAPSHOT&lt;/version&gt;
      &lt;/plugin&gt;
      ...
    &lt;/plugins&gt;
  &lt;/reporting&gt;</pre>
<p>Back to <a href="./index.html">examples</a></p></section>        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
Copyright &copy; 2016-2025 The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
      Apache Creadur, Creadur, Apache RAT, Apache Tentacles, Apache Whisker, Apache and the ASF logo are trademarks
      of The Apache Software Foundation.
      Oracle and Java are registered trademarks of Oracle and/or its affiliates.
      All other marks mentioned may be trademarks or registered trademarks of their respective owners.
        </div>
      </div>
    </footer>
  </body>
</html>
