<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.11.1 at 2022-07-14 
 | Rendered using Apache Maven Fluido Skin 1.6
-->
<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="20220714" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Maven Axis 2 AAR Plugin &#x2013; </title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.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.6.min.js"></script>
      </head>
    <body class="topBarDisabled">
      <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><a href="http://maven.apache.org/" id="bannerLeft"><img src="http://maven.apache.org/images/apache-maven-project.png"  alt="Maven Axis 2 AAR Plugin"/></a></div>
        <div class="pull-right"><div id="bannerRight"><img src="http://maven.apache.org/images/maven-small.gif" /></div>
</div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2022-07-14<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.8.2<span class="divider">|</span></li>
        <li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li>
      <li class=""><a href="../../../../../../../../../../../../scm:git:https:/gitbox.apache.org/repos/asf/axis-site.git/index.html" title="Axis2/Java">Axis2/Java</a><span class="divider">/</span></li>
      <li class=""><a href="index.html" title="Maven Axis 2 AAR Plugin">Maven Axis 2 AAR Plugin</a><span class="divider">/</span></li>
    <li class="active "></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="http://maven.apache.org/maven2/" class="externalLink" title="Maven 2">Maven 2</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="http://ws.apache.org/axis2/" class="externalLink" title="Axis 2">Axis 2</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="http://ws.apache.org/" class="externalLink" title="Webservices">Webservices</a></li>
      <li class="pull-right"><a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a></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">Overview</li>
    <li><a href="introduction.html" title="Introduction"><span class="none"></span>Introduction</a>  </li>
    <li><a href="howto.html" title="How to Use"><span class="none"></span>How to Use</a>  </li>
    <li class="active"><a href="#"><span class="none"></span>Configuration</a>
  </li>
          <li class="nav-header">Apache</li>
    <li><a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="License"><span class="none"></span>License</a>  </li>
    <li><a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"><span class="none"></span>Sponsorship</a>  </li>
    <li><a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a>  </li>
    <li><a href="http://www.apache.org/security/" class="externalLink" title="Security"><span class="none"></span>Security</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" >
<section>
<h2><a name="Configuration"></a>Configuration</h2>
<p>All Aar plugin goals takes the following configuration parameters as input:</p>
<table border="1" class="table table-striped">
<tr class="a">
<td align="left">Parameter name</td>
<td align="left">Default value</td>
<td align="left">Description</td></tr>
<tr class="b">
<td align="left">aarDirectory</td>
<td align="left">$<a name="project.build.directory">project.build.directory</a>/aar</td>
<td align="left">Directory where the aar file is built.</td></tr>
<tr class="a">
<td align="left">classesDirectory</td>
<td align="left">$<a name="project.build.outputDirectory">project.build.outputDirectory</a></td>
<td align="left">Directory with compiled classes and resources.</td></tr>
<tr class="b">
<td align="left">fileSets</td>
<td align="left"></td>
<td align="left">Additional file sets, which are being added to the archive. See &quot;File Sets&quot; below for an example.</td></tr>
<tr class="a">
<td align="left">servicesXmlFile</td>
<td align="left"></td>
<td align="left">Location of the services.xml file. By default, it is assumed that the file is already present in classesDirectory/META-INF and no special processing is required.</td></tr>
<tr class="b">
<td align="left">wsdlFile</td>
<td align="left"></td>
<td align="left">Location of the WSDL file. By default, it is assumed that the file is already present in classesDirectory/META-INF and no special processing is required.</td></tr>
<tr class="a">
<td align="left">wsdlFileName</td>
<td align="left">service.wsdl</td>
<td align="left">Name, to which the WSDL file should be mapped.</td></tr></table></section><section>
<h2><a name="The_aar_goal"></a>The aar goal</h2>
<p>The aar goal allows the following additional parameters:</p>
<table border="1" class="table table-striped">
<tr class="a">
<td align="left">Parameter name</td>
<td align="left">Default value</td>
<td align="left">Description</td></tr>
<tr class="b">
<td align="left">outputDirectory</td>
<td align="left">$<a name="project.build.directory">project.build.directory</a></td>
<td align="left">Directory where to generate the AAR file.</td></tr>
<tr class="a">
<td align="left">aarName</td>
<td align="left">$<a name="project.build.finalName">project.build.finalName</a></td>
<td align="left">The generated AAR files name.</td></tr>
<tr class="b">
<td align="left">archive</td>
<td align="left"></td>
<td align="left">A Maven archive configuration. This allows, for example, to configure the MANIFEST.MF file.</td></tr>
<tr class="a">
<td align="left">classifier</td>
<td align="left"></td>
<td align="left">A classifier, which should be added to the generated AAR files name. Setting this parameter has the side effect, that the artifact is treated as an attachment and not as the projects primary artifact.</td></tr>
<tr class="b">
<td align="left">primaryArtifact</td>
<td align="left">true</td>
<td align="left">Setting this property to false disables installation or deployment of the artifact as the projects primary artifact.</td></tr></table></section><section>
<h2><a name="File_Sets"></a>File Sets</h2>
<p>Additional file sets may be configured for inclusion into the AAR file. A file set looks as follows:</p>
<div>
<pre>  &lt;fileSets&gt;
    &lt;fileSet&gt;
      &lt;directory&gt;src/aar/files&lt;/directory&gt;
      &lt;outputDirectory&gt;META-INF/docs&lt;/outputDirectory&gt;
      &lt;includes&gt;
        &lt;include&gt;**/*.html&lt;/include&gt;
      &lt;/includes&gt;
    &lt;/fileSet&gt;
    &lt;fileSet&gt;
      &lt;directory&gt;src/aar/files&lt;/directory&gt;
      &lt;outputDirectory&gt;META-INF/etc&lt;/outputDirectory&gt;
      &lt;excludes&gt;
        &lt;exclude&gt;**/*.html&lt;/exclude&gt;
      &lt;/excludes&gt;
    &lt;/fileSet&gt;
  &lt;/fileSets&gt;</pre></div>
<p>The example specifies, that the contents of the directory src/aar/files shall be added to the AAR file. HTML files will go into META-INF/docs, all other files to META-INF/etc.</p>
<p>A file set is configured through the following configuration parameters:</p>
<table border="1" class="table table-striped">
<tr class="a">
<td align="left">Parameter name</td>
<td align="left">Description</td></tr>
<tr class="b">
<td align="left">directory</td>
<td align="left">The directory, from which to read the file set. This parameter is required.</td></tr>
<tr class="a">
<td align="left">outputDirectory</td>
<td align="left">The target directory within the AAR file. Defaults to the AAR files root directory.</td></tr>
<tr class="b">
<td align="left">includes</td>
<td align="left">Configures the set of files, which shall be included into the AAR file. Defaults to **/*.</td></tr>
<tr class="a">
<td align="left">excludes</td>
<td align="left">Configures a set of files, which shall be excluded from the file set. Defaults to the Maven default excludes (**/*~, **/cvs/**/*, **/.svn/**/*, etc.)</td></tr>
<tr class="b">
<td align="left">skipDefaultExcludes</td>
<td align="left">If this parameter is set to true, then no default excludes are being used.</td></tr></table></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>