<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.8.1 at 2020-03-23 
 | 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="20200323" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Sling OSGi Feature Maven Plugin &#x2013; slingfeature:launch-features</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"><div id="bannerLeft"><h2>Apache Sling OSGi Feature Maven Plugin</h2>
</div>
</div>
        <div class="pull-right"></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2020-03-23<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.1.20</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="index.html" title="Introduction"><span class="none"></span>Introduction</a>  </li>
    <li><a href="plugin-info.html" title="Goals"><span class="none"></span>Goals</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-right"></span>Project Reports</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="slingfeature:launch-features"></a>slingfeature:launch-features</h2>
      
<p><b>Full name</b>:</p>
      
<p>org.apache.sling:slingfeature-maven-plugin:1.1.20:launch-features</p>
      
<p><b>Description</b>:</p>
      
<div>Launches the given Feature File</div>
      
<p><b>Attributes</b>:</p>
      
<ul>
        
<li>Requires a Maven project to be executed.</li>
      </ul>
      
<div class="section">
<h3><a name="Required_Parameters"></a>Required Parameters</h3>
        
<table class="table table-striped" border="0">
          
<tr class="a">
            
<th>Name</th>
            
<th>Type</th>
            
<th>Since</th>
            
<th>Description</th>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#features">&lt;features&gt;</a></tt></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>Directory containing feature files<br /><b>Default value is</b>: <tt>src/main/features</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#testFeatures">&lt;testFeatures&gt;</a></tt></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>Directory containing test feature files.<br /><b>Default value is</b>: <tt>src/test/features</tt>.<br /></td>
          </tr>
        </table>
      </div>
      
<div class="section">
<h3><a name="Optional_Parameters"></a>Optional Parameters</h3>
        
<table class="table table-striped" border="0">
          
<tr class="a">
            
<th>Name</th>
            
<th>Type</th>
            
<th>Since</th>
            
<th>Description</th>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#artifactClashOverrides">&lt;artifactClashOverrides&gt;</a></tt></td>
            
<td><tt>String[]</tt></td>
            
<td><tt>-</tt></td>
            
<td>The Artifact Id Overrides (see Feature Launcher for more info)<br /><b>User property is</b>: <tt>artifactClashOverrides</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#cacheDirectory">&lt;cacheDirectory&gt;</a></tt></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>The path of the folder where the cache is located<br /><b>User property is</b>: <tt>cacheDirectory</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#extensionConfigurations">&lt;extensionConfigurations&gt;</a></tt></td>
            
<td><tt>String[]</tt></td>
            
<td><tt>-</tt></td>
            
<td>Extension Configurations for the Launcher<br /><b>User property is</b>: <tt>extensionConfigurations</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#featuresExcludes">&lt;featuresExcludes&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Comma separated list of excludes for the feature files. Feature
files excluded by this configuration are not processed at all.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#featuresIncludes">&lt;featuresIncludes&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Comma separated list of includes for the feature files in the
configured directory. Only feature files specified by this include
are processed.<br /><b>Default value is</b>: <tt>**/*.json</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#frameworkArtifacts">&lt;frameworkArtifacts&gt;</a></tt></td>
            
<td><tt>String[]</tt></td>
            
<td><tt>-</tt></td>
            
<td>Framework Artifacts for the Launcher<br /><b>User property is</b>: <tt>frameworkArtifacts</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#frameworkProperties">&lt;frameworkProperties&gt;</a></tt></td>
            
<td><tt>String[]</tt></td>
            
<td><tt>-</tt></td>
            
<td>Framework Properties for the Launcher<br /><b>User property is</b>: <tt>frameworkProperties</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#frameworkVersion">&lt;frameworkVersion&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>The Framework Version (see Feature Launcher for more info)<br /><b>User property is</b>: <tt>frameworkVersion</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#generatedFeatures">&lt;generatedFeatures&gt;</a></tt></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>Directory containing generated feature files<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#generatedFeaturesExcludes">&lt;generatedFeaturesExcludes&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Comma separated list of excludes for the generated feature files.
Feature files excluded by this configuration are not processed at
all.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#generatedFeaturesIncludes">&lt;generatedFeaturesIncludes&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Comma separated list of includes for the generated feature files in
the configured directory. Only feature files specified by this
include are processed.<br /><b>Default value is</b>: <tt>**/*.json</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#homeDirectory">&lt;homeDirectory&gt;</a></tt></td>
            
<td><tt>File</tt></td>
            
<td><tt>-</tt></td>
            
<td>The path of the folder where the launcher home is located<br /><b>User property is</b>: <tt>homeDirectory</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#jarStartOrder">&lt;jarStartOrder&gt;</a></tt></td>
            
<td><tt>int</tt></td>
            
<td><tt>-</tt></td>
            
<td>The start level for the attached jar/bundle.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#repositoryUrl">&lt;repositoryUrl&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>The Url for the Repository (see Feature Launcher for more info)<br /><b>User property is</b>: <tt>frameworkRepositoryUrl</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#selection">&lt;selection&gt;</a></tt></td>
            
<td><tt>FeatureSelectionConfig</tt></td>
            
<td><tt>-</tt></td>
            
<td>(no description)<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#skipAddFeatureDependencies">&lt;skipAddFeatureDependencies&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>If set to <tt>true</tt> the artifacts from the feature are not
as dependencies to the project.<br /><b>Default value is</b>: <tt>false</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#skipAddJarToFeature">&lt;skipAddJarToFeature&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>If set to <tt>true</tt> the main jar artifact is not added to
the feature.<br /><b>Default value is</b>: <tt>false</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#skipAddJarToTestFeature">&lt;skipAddJarToTestFeature&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>If set to <tt>true</tt> the main jar artifact is not added to
the test feature.<br /><b>Default value is</b>: <tt>false</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#skipAddTestFeatureDependencies">&lt;skipAddTestFeatureDependencies&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>If set to <tt>true</tt> the artifacts from the test feature are
not as dependencies to the project.<br /><b>Default value is</b>: <tt>true</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#testFeaturesExcludes">&lt;testFeaturesExcludes&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Comma separated list of excludes for the test features.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#testFeaturesIncludes">&lt;testFeaturesIncludes&gt;</a></tt></td>
            
<td><tt>String</tt></td>
            
<td><tt>-</tt></td>
            
<td>Comma separated list of includes for the test features.<br /><b>Default value is</b>: <tt>**/*.json</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#validateFeatures">&lt;validateFeatures&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>If set to <tt>true</tt> the features are validated against the
JSON schema.<br /><b>Default value is</b>: <tt>true</tt>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><tt><a href="#variableValues">&lt;variableValues&gt;</a></tt></td>
            
<td><tt>String[]</tt></td>
            
<td><tt>-</tt></td>
            
<td>Variable Values for the Launcher<br /><b>User property is</b>: <tt>variableValues</tt>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><tt><a href="#verbose">&lt;verbose&gt;</a></tt></td>
            
<td><tt>boolean</tt></td>
            
<td><tt>-</tt></td>
            
<td>Framework Properties for the Launcher<br /><b>Default value is</b>: <tt>false</tt>.<br /><b>User property is</b>: <tt>verbose</tt>.<br /></td>
          </tr>
        </table>
      </div>
      
<div class="section">
<h3><a name="Parameter_Details"></a>Parameter Details</h3>
        
<div class="section">
<h4><a name="a.3CartifactClashOverrides.3E"></a><b><a name="artifactClashOverrides">&lt;artifactClashOverrides&gt;</a></b></h4>
        
<div>The Artifact Id Overrides (see Feature Launcher for more info)</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String[]</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>artifactClashOverrides</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CcacheDirectory.3E"></a><b><a name="cacheDirectory">&lt;cacheDirectory&gt;</a></b></h4>
        
<div>The path of the folder where the cache is located</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.io.File</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>cacheDirectory</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CextensionConfigurations.3E"></a><b><a name="extensionConfigurations">&lt;extensionConfigurations&gt;</a></b></h4>
        
<div>Extension Configurations for the Launcher</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String[]</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>extensionConfigurations</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3Cfeatures.3E"></a><b><a name="features">&lt;features&gt;</a></b></h4>
        
<div>Directory containing feature files</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.io.File</tt></li>
          
<li><b>Required</b>: <tt>Yes</tt></li>
          
<li><b>Default</b>: <tt>src/main/features</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CfeaturesExcludes.3E"></a><b><a name="featuresExcludes">&lt;featuresExcludes&gt;</a></b></h4>
        
<div>Comma separated list of excludes for the feature files. Feature
files excluded by this configuration are not processed at all.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CfeaturesIncludes.3E"></a><b><a name="featuresIncludes">&lt;featuresIncludes&gt;</a></b></h4>
        
<div>Comma separated list of includes for the feature files in the
configured directory. Only feature files specified by this include
are processed.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>**/*.json</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CframeworkArtifacts.3E"></a><b><a name="frameworkArtifacts">&lt;frameworkArtifacts&gt;</a></b></h4>
        
<div>Framework Artifacts for the Launcher</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String[]</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>frameworkArtifacts</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CframeworkProperties.3E"></a><b><a name="frameworkProperties">&lt;frameworkProperties&gt;</a></b></h4>
        
<div>Framework Properties for the Launcher</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String[]</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>frameworkProperties</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CframeworkVersion.3E"></a><b><a name="frameworkVersion">&lt;frameworkVersion&gt;</a></b></h4>
        
<div>The Framework Version (see Feature Launcher for more info)</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>frameworkVersion</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CgeneratedFeatures.3E"></a><b><a name="generatedFeatures">&lt;generatedFeatures&gt;</a></b></h4>
        
<div>Directory containing generated feature files</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.io.File</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CgeneratedFeaturesExcludes.3E"></a><b><a name="generatedFeaturesExcludes">&lt;generatedFeaturesExcludes&gt;</a></b></h4>
        
<div>Comma separated list of excludes for the generated feature files.
Feature files excluded by this configuration are not processed at
all.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CgeneratedFeaturesIncludes.3E"></a><b><a name="generatedFeaturesIncludes">&lt;generatedFeaturesIncludes&gt;</a></b></h4>
        
<div>Comma separated list of includes for the generated feature files in
the configured directory. Only feature files specified by this
include are processed.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>**/*.json</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3ChomeDirectory.3E"></a><b><a name="homeDirectory">&lt;homeDirectory&gt;</a></b></h4>
        
<div>The path of the folder where the launcher home is located</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.io.File</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>homeDirectory</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CjarStartOrder.3E"></a><b><a name="jarStartOrder">&lt;jarStartOrder&gt;</a></b></h4>
        
<div>The start level for the attached jar/bundle.</div>
        
<ul>
          
<li><b>Type</b>: <tt>int</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CrepositoryUrl.3E"></a><b><a name="repositoryUrl">&lt;repositoryUrl&gt;</a></b></h4>
        
<div>The Url for the Repository (see Feature Launcher for more info)</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>frameworkRepositoryUrl</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3Cselection.3E"></a><b><a name="selection">&lt;selection&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <tt>org.apache.sling.feature.maven.mojos.FeatureSelectionConfig</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CskipAddFeatureDependencies.3E"></a><b><a name="skipAddFeatureDependencies">&lt;skipAddFeatureDependencies&gt;</a></b></h4>
        
<div>If set to <tt>true</tt> the artifacts from the feature are not
as dependencies to the project.</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>false</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CskipAddJarToFeature.3E"></a><b><a name="skipAddJarToFeature">&lt;skipAddJarToFeature&gt;</a></b></h4>
        
<div>If set to <tt>true</tt> the main jar artifact is not added to
the feature.</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>false</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CskipAddJarToTestFeature.3E"></a><b><a name="skipAddJarToTestFeature">&lt;skipAddJarToTestFeature&gt;</a></b></h4>
        
<div>If set to <tt>true</tt> the main jar artifact is not added to
the test feature.</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>false</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CskipAddTestFeatureDependencies.3E"></a><b><a name="skipAddTestFeatureDependencies">&lt;skipAddTestFeatureDependencies&gt;</a></b></h4>
        
<div>If set to <tt>true</tt> the artifacts from the test feature are
not as dependencies to the project.</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>true</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CtestFeatures.3E"></a><b><a name="testFeatures">&lt;testFeatures&gt;</a></b></h4>
        
<div>Directory containing test feature files.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.io.File</tt></li>
          
<li><b>Required</b>: <tt>Yes</tt></li>
          
<li><b>Default</b>: <tt>src/test/features</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CtestFeaturesExcludes.3E"></a><b><a name="testFeaturesExcludes">&lt;testFeaturesExcludes&gt;</a></b></h4>
        
<div>Comma separated list of excludes for the test features.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CtestFeaturesIncludes.3E"></a><b><a name="testFeaturesIncludes">&lt;testFeaturesIncludes&gt;</a></b></h4>
        
<div>Comma separated list of includes for the test features.</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>**/*.json</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CvalidateFeatures.3E"></a><b><a name="validateFeatures">&lt;validateFeatures&gt;</a></b></h4>
        
<div>If set to <tt>true</tt> the features are validated against the
JSON schema.</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>Default</b>: <tt>true</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3CvariableValues.3E"></a><b><a name="variableValues">&lt;variableValues&gt;</a></b></h4>
        
<div>Variable Values for the Launcher</div>
        
<ul>
          
<li><b>Type</b>: <tt>java.lang.String[]</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>variableValues</tt></li>
        </ul><hr /></div>
<div class="section">
<h4><a name="a.3Cverbose.3E"></a><b><a name="verbose">&lt;verbose&gt;</a></b></h4>
        
<div>Framework Properties for the Launcher</div>
        
<ul>
          
<li><b>Type</b>: <tt>boolean</tt></li>
          
<li><b>Required</b>: <tt>No</tt></li>
          
<li><b>User Property</b>: <tt>verbose</tt></li>
          
<li><b>Default</b>: <tt>false</tt></li>
        </ul>
      </div></div>
    </div>
  

        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2007&#x2013;2020
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>
