<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2017-05-06 
 | 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="20170506" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Maven Axis 2 MAR 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 MAR 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: 2017-05-06<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.7.5<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=""><a href="index.html" title="Maven Axis 2 MAR Plugin">Maven Axis 2 MAR 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" >
<div class="section">
<h2><a name="Configuration"></a>Configuration</h2>
<p>All Mar 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">marDirectory</td>
<td align="left">$<a name="project.build.directory">project.build.directory</a>/mar</td>
<td align="left">Directory where the mar 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">moduleXmlFile</td>
<td align="left"></td>
<td align="left">Location of the module.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">includeDependencies</td>
<td align="left">true</td>
<td align="left">Whether to include the project dependencies in the generated mar.</td></tr></table></div>
<div class="section">
<h2><a name="The_mar_goal"></a>The mar goal</h2>
<p>The mar 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 MAR file.</td></tr>
<tr class="a">
<td align="left">marName</td>
<td align="left">$<a name="project.build.finalName">project.build.finalName</a></td>
<td align="left">The generated MAR 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 MAR 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></div>
<div class="section">
<h2><a name="File_Sets"></a>File Sets</h2>
<p>Additional file sets may be configured for inclusion into the MAR file. A file set looks as follows:</p>
<div>
<pre>  &lt;fileSets&gt;
    &lt;fileSet&gt;
      &lt;directory&gt;src/mar/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/mar/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/mar/files shall be added to the MAR 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 MAR file. Defaults to the MAR 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 MAR 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></div>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2004&#x2013;2017
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>