<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.9.2 at 2021-08-01 
 | 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="20210801" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Axis2 &#x2013; Maven2 AAR Plug-in Guide</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>
<meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" /><meta http-equiv="content-type" content="" />      </head>
    <body class="topBarDisabled">
      <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><a href="http://www.apache.org/" id="bannerLeft"><img src="http://www.apache.org/images/asf_logo_wide.png"  alt="Apache Axis2"/></a></div>
        <div class="pull-right"><a href="../.././" id="bannerRight"><img src="../../images/axis.jpg" /></a></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2021-08-01<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.8.0<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="../../index.html" title="Axis2/Java">Axis2/Java</a><span class="divider">/</span></li>
    <li class="active ">Maven2 AAR Plug-in Guide</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">Axis2/Java</li>
    <li><a href="../../index.html" title="Home"><span class="none"></span>Home</a>  </li>
    <li><a href="../../download.html" title="Downloads"><span class="none"></span>Downloads</a>  </li>
    <li><a href="javascript:void(0)" title="Release Notes"><span class="icon-chevron-down"></span>Release Notes</a>
      <ul class="nav nav-list">
    <li><a href="../../release-notes/1.6.1.html" title="1.6.1"><span class="none"></span>1.6.1</a>  </li>
    <li><a href="../../release-notes/1.6.2.html" title="1.6.2"><span class="none"></span>1.6.2</a>  </li>
    <li><a href="../../release-notes/1.6.3.html" title="1.6.3"><span class="none"></span>1.6.3</a>  </li>
    <li><a href="../../release-notes/1.6.4.html" title="1.6.4"><span class="none"></span>1.6.4</a>  </li>
    <li><a href="../../release-notes/1.7.0.html" title="1.7.0"><span class="none"></span>1.7.0</a>  </li>
    <li><a href="../../release-notes/1.8.0.html" title="1.8.0"><span class="none"></span>1.8.0</a>  </li>
      </ul>
  </li>
    <li><a href="../../modules/index.html" title="Modules"><span class="none"></span>Modules</a>  </li>
    <li><a href="../../tools/index.html" title="Tools"><span class="none"></span>Tools</a>  </li>
          <li class="nav-header">Documentation</li>
    <li><a href="../../docs/toc.html" title="Table of Contents"><span class="none"></span>Table of Contents</a>  </li>
    <li><a href="../../docs/installationguide.html" title="Installation Guide"><span class="none"></span>Installation Guide</a>  </li>
    <li><a href="../../docs/quickstartguide.html" title="QuickStart Guide"><span class="none"></span>QuickStart Guide</a>  </li>
    <li><a href="../../docs/userguide.html" title="User Guide"><span class="none"></span>User Guide</a>  </li>
    <li><a href="../../docs/jaxws-guide.html" title="JAXWS Guide"><span class="none"></span>JAXWS Guide</a>  </li>
    <li><a href="../../docs/pojoguide.html" title="POJO Guide"><span class="none"></span>POJO Guide</a>  </li>
    <li><a href="../../docs/spring.html" title="Spring Guide"><span class="none"></span>Spring Guide</a>  </li>
    <li><a href="../../docs/webadminguide.html" title="Web Administrator's Guide"><span class="none"></span>Web Administrator's Guide</a>  </li>
    <li><a href="../../docs/migration.html" title="Migration Guide (from Axis1)"><span class="none"></span>Migration Guide (from Axis1)</a>  </li>
          <li class="nav-header">Resources</li>
    <li><a href="../../faq.html" title="FAQ"><span class="none"></span>FAQ</a>  </li>
    <li><a href="../../articles.html" title="Articles"><span class="none"></span>Articles</a>  </li>
    <li><a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink" title="Wiki"><span class="none"></span>Wiki</a>  </li>
    <li><a href="../../refLib.html" title="Reference Library"><span class="none"></span>Reference Library</a>  </li>
    <li><a href="../../apidocs/index.html" title="Online Java Docs"><span class="none"></span>Online Java Docs</a>  </li>
          <li class="nav-header">Get Involved</li>
    <li><a href="../../overview.html" title="Overview"><span class="none"></span>Overview</a>  </li>
    <li><a href="../../git.html" title="Checkout the Source"><span class="none"></span>Checkout the Source</a>  </li>
    <li><a href="../../mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a>  </li>
    <li><a href="../../release-process.html" title="Release Process"><span class="none"></span>Release Process</a>  </li>
    <li><a href="../../guidelines.html" title="Developer Guidelines"><span class="none"></span>Developer Guidelines</a>  </li>
    <li><a href="../../siteHowTo.html" title="Build the Site"><span class="none"></span>Build the Site</a>  </li>
          <li class="nav-header">Project Information</li>
    <li><a href="../../team-list.html" title="Project Team"><span class="none"></span>Project Team</a>  </li>
    <li><a href="../../issue-tracking.html" title="Issue Tracking"><span class="none"></span>Issue Tracking</a>  </li>
    <li><a href="http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/" class="externalLink" title="Source Code"><span class="none"></span>Source Code</a>  </li>
    <li><a href="../../thanks.html" title="Acknowledgements"><span class="none"></span>Acknowledgements</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" >
<html xmlns="http://www.w3.org/1999/xhtml">


<h1>Maven2 AAR Plug-in Guide</h1>
<section>
<h2><a name="Introduction"></a>Introduction</h2>

<p>This plugin generates an Axis 2 service file (AAR file).</p>

<p><a href="../index.html">[Download Plugin Tool]</a></p>
<section>
<h2><a name="Goals"></a>Goals</h2>

<p>The AAR plugin allows the packaging of an Axis 2 service aar in
3 different modes:</p>

<ol style="list-style-type: decimal">

<li><b>axis2-aar:aar</b>: generates the aar artifact</li>

<li><b>axis2-aar:inplace</b> : package the aar in the source tree</li>

<li><b>axis2-aar:exploded</b> : package an exploded aar application</li>
</ol>

<p>Each mode is materialized by a goal. For instance, to generate
an exploded aar from the current project, one would type</p>

<div>
<pre>
mvn axis2-aar:exploded
</pre></div>
<section>
<h2><a name="Configuration"></a>Configuration</h2>

<p>All AAR plugin goals takes the following configuration
parameters as input:</p>

<table border="0" class="table table-striped">
<tbody>

<tr class="a">

<td><b>Parameter Name</b></td>

<td><b>Default Value</b></td>

<td><b>Description</b></td>
</tr>

<tr class="b">

<td>aarDirectory</td>

<td>${project.build.directory}/aar</td>

<td>Directory where the aar file is built</td>
</tr>

<tr class="a">

<td>classesDirectory</td>

<td>${project.build.outputDirectory}</td>

<td>Directory with compiled classes and resources</td>
</tr>

<tr class="b">

<td>fileSets</td>

<td></td>

<td>Additional file sets, which are being added to the archive. See
&quot;<a href="#file_sets">File Sets</a>&quot; below for an example</td>
</tr>

<tr class="a">

<td>servicesXmlFile</td>

<td></td>

<td>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>wsdlFile</td>

<td></td>

<td>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>wsdlFileName</td>

<td>service.wsdl</td>

<td>Name, to which the WSDL file should be mapped</td>
</tr>
</tbody>
</table>
<section>
<h3><a name="The_aar_Goal"></a>The aar Goal</h3>

<p>The aar goal allows the following additional parameters:</p>

<table border="0" class="table table-striped">
<tbody>

<tr class="a">

<td><b>Parameter Name</b></td>

<td><b>Default Value</b></td>

<td><b>Description</b></td>
</tr>

<tr class="b">

<td>outputDirectory</td>

<td>${project.build.directory}</td>

<td>Directory where to generate the AAR file</td>
</tr>

<tr class="a">

<td>aarName</td>

<td>${project.build.finalName}</td>

<td>The generated AAR files name</td>
</tr>

<tr class="b">

<td>archive</td>

<td></td>

<td>A Maven archive configuration. This allows, for example, to
configure the MANIFEST.MF file</td>
</tr>

<tr class="a">

<td>classifier</td>

<td></td>

<td>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>primaryArtifact</td>

<td>true</td>

<td>Setting this property to false disables installation or
deployment of the artifact as the projects primary artifact</td>
</tr>
</tbody>
</table>
<a name="file_sets" id="file_sets"></a>
</section><section>
<h3><a name="File_Sets"></a>File Sets</h3>

<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="0" class="table table-striped">
<tbody>

<tr class="a">

<td><b>Parameter Name</b></td>

<td><b>Description</b></td>
</tr>

<tr class="b">

<td>directory</td>

<td>The directory, from which to read the file set. This parameter
is required</td>
</tr>

<tr class="a">

<td>outputDirectory</td>

<td>The target directory within the AAR file. Defaults to the AAR
files root directory</td>
</tr>

<tr class="b">

<td>includes</td>

<td>Configures the set of files, which shall be included into the
AAR file. Defaults to **/*</td>
</tr>

<tr class="a">

<td>excludes</td>

<td>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>skipDefaultExcludes</td>

<td>If this parameter is set to true, then no default excludes are
being used</td>
</tr>
</tbody>
</table>
</section>
</html>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2004&#x2013;2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>
