You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2016/05/06 12:23:18 UTC

svn commit: r1742536 [19/23] - in /karaf/site/production/manual/latest-2.x: ./ commands/ css/ css/scalate/ developers-guide/ images/ users-guide/

Added: karaf/site/production/manual/latest-2.x/developers-guide/writing-tests.html
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/developers-guide/writing-tests.html?rev=1742536&view=auto
==============================================================================
--- karaf/site/production/manual/latest-2.x/developers-guide/writing-tests.html (added)
+++ karaf/site/production/manual/latest-2.x/developers-guide/writing-tests.html Fri May  6 12:23:15 2016
@@ -0,0 +1,150 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"> 
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="description" content="description goes here"/>
+    <meta name="keywords" content="keywords,goes,here"/>
+    <meta name="author" content="The Apache Karaf Team"/>
+    <link href="../css/style.css" rel="stylesheet" type="text/css"/>
+    <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
+    <title>
+      Apache Karaf 2.4.5-SNAPSHOT Guides
+    </title>
+  </head>
+  <body>
+    <table width="100%" cellpadding="0" cellspacing="0">
+      <tr width="100%">
+        <td id="cell-0-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-0-1">
+          &nbsp;
+        </td>
+        <td id="cell-0-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-1-0">
+          &nbsp;
+        </td>
+        <td id="cell-1-1">
+          &nbsp;
+        </td>
+        <td id="cell-1-2">
+          <div style="padding: 5px;">
+            <div id="banner">
+                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td align="left" class="topbardiv" nowrap="">
+<a href="http://karaf.apache.org/" title="A server side OSGi distribution">
+            <img border="0" src="../images/karaf-logo.png" width="400px"></img>
+</a>
+          </td>
+          <td align="right" nowrap="">
+<a href="http://www.apache.org/" title="The Apache Sofware Foundation">
+            <img border="0" src="../images/asf-logo.png">
+</a>
+          </td>
+        </tr>
+      </table>
+
+            </div>
+            <div id="top-menu">
+              <table border="0" cellpadding="1" cellspacing="0" width="100%">
+                <tr>
+                  <td>
+                    <div align="left"></div>
+                  </td>
+                  <td>
+                    <div align="right">
+                      <p>
+<a href="../index.html" title="Home">Home</a>
+&#124;
+<a href="../users-guide/index.html" title="Users Guide">Users Guide</a>
+&#124;
+<a href="index.html" title="Developers Guide">Developers Guide</a>
+</p>
+
+
+                    </div>
+                  </td>
+                </tr>
+              </table>
+            </div>
+          </div>
+        </td>
+        <td id="cell-1-3">
+          &nbsp;
+        </td>
+        <td id="cell-1-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-2-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-2-1">
+          <table>
+            <tr height="100%" valign="top">
+              <td height="100%">
+                <div id="wrapper-menu-page-right">
+                  <div id="wrapper-menu-page-top">
+                    <div id="wrapper-menu-page-bottom">
+                      <div id="menu-page">
+                        <h3 id="Homeindex"><a href="../index.html">Home</a></h3><ul style="list-style: square"><li><a href="../overview.html">Overview</a></li><li><a href="../quick-start.html">Quick Start</a></li></ul><h3 id="UsersGuideusersguideindex"><a href="../users-guide/index.html">Users Guide</a></h3><ul style="list-style: square"><li><a href="../users-guide/installation.html">Installing Karaf</a></li><li><a href="../users-guide/directory-structure.html">Directory Structure</a></li><li><a href="../users-guide/start-stop.html">Starting and stopping Karaf</a></li><li><a href="../users-guide/wrapper.html">OS integration</a></li><li><a href="../users-guide/using-console.html">Using the console</a></li><li><a href="../users-guide/remote-console.html">Remote console</a></li><li><a href="../users-guide/web-console.html">Web console</a></li><li><a href="../users-guide/child-instances.html">Child instances</a></li><li><a href="../users-guide/security.html">Security</a></li><li><a href
 ="../users-guide/failover.html">Failover Deployments</a></li><li><a href="../users-guide/logging-system.html">Logging system</a></li><li><a href="../users-guide/deployer.html">Deployer</a></li><li><a href="../users-guide/provisioning.html">Provisioning</a></li><li><a href="../users-guide/kar.html">KAR archive</a></li><li><a href="../users-guide/configuration.html">Configuration</a></li><li><a href="../users-guide/http.html">HTTP service</a></li><li><a href="../users-guide/web-applications.html">Web applications</a></li><li><a href="../users-guide/jre-tuning.html">JRE tuning</a></li><li><a href="../users-guide/jmx.html">JMX for administration and monitoring</a></li></ul><h3 id="DevelopersGuidedevelopersguideindex"><a href="index.html">Developers Guide</a></h3><ul style="list-style: square"><li><a href="archetypes.html">Maven Archetypes</a></li><li><a href="branding-console.html">Branding the Console</a></li><li><a href="extending-console.html">Extending the Console</a></li><li><a hre
 f="custom-distribution.html">Custom Distribution</a></li><li><a href="security-framework.html">Security Framework</a></li><li><a href="features-maven-plugin.html">Using the features-maven-plugin</a></li><li><a href="debugging.html">Troubleshooting, Debugging and Profiling</a></li><li><a href="connect-console.html">Programmatically connect to the console</a></li><li><a href="writing-tests.html">Writing integration tests</a></li><li><a href="creating-bundles.html">Creating bundles</a></li><li><a href="shell-syntax.html">Shell syntax</a></li><li><a href="github-contributions.html">Github Contributions</a></li></ul><h3 id="Commandscommandscommands"><a href="../commands/commands.html">Commands</a></h3>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </td>
+              <td height="100%" width="100%">
+                <div class="wiki-content">
+<h1 id="Writingintegrationtests">Writing integration tests</h1><p>We recommend using <a href="http://team.ops4j.org/wiki/display/paxexam/Pax+Exam">PAX Exam</a> to write integration tests when developing applications using Karaf.</p><p>Starting with Karaf 2.3.0 and 3.0 we've also included a component briding between Karaf and Pax Exam making it easier to write integration tests for Karaf or Karaf based Distributions such as <a href="http://servicemix.apache.org">Servicemix</a> or <a href="http://geronimo.apache.org">Geronimo</a>.</p><h2 id="Introduction">Introduction</h2><p>To make use of this new framework simply add the following dependencies into your integration tests pom.xml:</p><div class="syntax"><div class="highlight"><pre><span class="c">&lt;!-- Karaf Test Framework Version --&gt;</span>&#x000A;<span class="nt">&lt;dependency&gt;</span>&#x000A;  <span class="nt">&lt;groupId&gt;</span>org.apache.karaf.tooling.exam<span class="nt">&lt;/groupId&gt;</span>&#x000A;  <span class="
 nt">&lt;artifactId&gt;</span>org.apache.karaf.tooling.exam.container<span class="nt">&lt;/artifactId&gt;</span>&#x000A;  <span class="nt">&lt;version&gt;</span>2.4.5-SNAPSHOT<span class="nt">&lt;/version&gt;</span>&#x000A;  <span class="nt">&lt;scope&gt;</span>test<span class="nt">&lt;/scope&gt;</span>&#x000A;<span class="nt">&lt;/dependency&gt;</span>&#x000A;<span class="c">&lt;!-- Pax Exam version you would like to use. At least 2.2.x is required. --&gt;</span>&#x000A;<span class="nt">&lt;dependency&gt;</span>&#x000A;  <span class="nt">&lt;groupId&gt;</span>org.ops4j.pax.exam<span class="nt">&lt;/groupId&gt;</span>&#x000A;  <span class="nt">&lt;artifactId&gt;</span>pax-exam-junit4<span class="nt">&lt;/artifactId&gt;</span>&#x000A;  <span class="nt">&lt;version&gt;</span>4.5.0<span class="nt">&lt;/version&gt;</span>&#x000A;  <span class="nt">&lt;scope&gt;</span>test<span class="nt">&lt;/scope&gt;</span>&#x000A;<span class="nt">&lt;/dependency&gt;</span>&#x000A;</pre></div>&#x000A;<
 /div><p>As a next step you need to reference the distribution you want to run your tests on. For example, if you want to run your tests on Karaf the following section would be required in the integration tests pom.xml:</p><div class="syntax"><div class="highlight"><pre><span class="nt">&lt;dependency&gt;</span>&#x000A;  <span class="nt">&lt;groupId&gt;</span>org.apache.karaf<span class="nt">&lt;/groupId&gt;</span>&#x000A;  <span class="nt">&lt;artifactId&gt;</span>apache-karaf<span class="nt">&lt;/artifactId&gt;</span>&#x000A;  <span class="nt">&lt;version&gt;</span>2.4.5-SNAPSHOT<span class="nt">&lt;/version&gt;</span>&#x000A;  <span class="nt">&lt;type&gt;</span>zip<span class="nt">&lt;/type&gt;</span>&#x000A;  <span class="nt">&lt;scope&gt;</span>test<span class="nt">&lt;/scope&gt;</span>&#x000A;<span class="nt">&lt;/dependency&gt;</span>&#x000A;</pre></div>&#x000A;</div><p>If you want to make use of Exams "versionAsInProject" feature you also need to add the following section:</
 p><div class="syntax"><div class="highlight"><pre><span class="nt">&lt;build&gt;</span>&#x000A;  <span class="nt">&lt;plugins&gt;</span>&#x000A;    <span class="nt">&lt;plugin&gt;</span>&#x000A;      <span class="nt">&lt;groupId&gt;</span>org.apache.servicemix.tooling<span class="nt">&lt;/groupId&gt;</span>&#x000A;      <span class="nt">&lt;artifactId&gt;</span>depends-maven-plugin<span class="nt">&lt;/artifactId&gt;</span>&#x000A;      <span class="nt">&lt;version&gt;</span>${plugin.depends.version}<span class="nt">&lt;/version&gt;</span>&#x000A;      <span class="nt">&lt;executions&gt;</span>&#x000A;        <span class="nt">&lt;execution&gt;</span>&#x000A;          <span class="nt">&lt;id&gt;</span>generate-depends-file<span class="nt">&lt;/id&gt;</span>&#x000A;          <span class="nt">&lt;goals&gt;</span>&#x000A;            <span class="nt">&lt;goal&gt;</span>generate-depends-file<span class="nt">&lt;/goal&gt;</span>&#x000A;          <span class="nt">&lt;/goals&gt;</span>&#x000
 A;        <span class="nt">&lt;/execution&gt;</span>&#x000A;      <span class="nt">&lt;/executions&gt;</span>&#x000A;    <span class="nt">&lt;/plugin&gt;</span>&#x000A;  <span class="nt">&lt;/plugins&gt;</span>&#x000A;<span class="nt">&lt;/build&gt;</span>&#x000A;</pre></div>&#x000A;</div><p>With this done we can start writing our first test case:</p><div class="syntax"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">static</span> <span class="n">junit</span><span class="o">.</span><span class="na">framework</span><span class="o">.</span><span class="na">Assert</span><span class="o">.</span><span class="na">assertTrue</span><span class="o">;</span>&#x000A;<span class="kn">import</span> <span class="nn">static</span> <span class="n">org</span><span class="o">.</span><span class="na">apache</span><span class="o">.</span><span class="na">karaf</span><span class="o">.</span><span class="na">tooling</span><span class="o">.</span><span class="na">exam</span><sp
 an class="o">.</span><span class="na">options</span><span class="o">.</span><span class="na">KarafDistributionOption</span><span class="o">.</span><span class="na">karafDistributionConfiguration</span><span class="o">;</span>&#x000A;<span class="kn">import</span> <span class="nn">static</span> <span class="n">org</span><span class="o">.</span><span class="na">ops4j</span><span class="o">.</span><span class="na">pax</span><span class="o">.</span><span class="na">exam</span><span class="o">.</span><span class="na">CoreOptions</span><span class="o">.</span><span class="na">maven</span><span class="o">;</span>&#x000A;&#x000A;<span class="kn">import</span> <span class="nn">org.junit.Test</span><span class="o">;</span>&#x000A;<span class="kn">import</span> <span class="nn">org.junit.runner.RunWith</span><span class="o">;</span>&#x000A;<span class="kn">import</span> <span class="nn">org.ops4j.pax.exam.Option</span><span class="o">;</span>&#x000A;<span class="kn">import</span> <span class="
 nn">org.ops4j.pax.exam.junit.Configuration</span><span class="o">;</span>&#x000A;<span class="kn">import</span> <span class="nn">org.ops4j.pax.exam.junit.ExamReactorStrategy</span><span class="o">;</span>&#x000A;<span class="kn">import</span> <span class="nn">org.ops4j.pax.exam.junit.JUnit4TestRunner</span><span class="o">;</span>&#x000A;<span class="kn">import</span> <span class="nn">org.ops4j.pax.exam.spi.reactors.AllConfinedStagedReactorFactory</span><span class="o">;</span>&#x000A;&#x000A;<span class="nd">@RunWith</span><span class="o">(</span><span class="n">JUnit4TestRunner</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>&#x000A;<span class="nd">@ExamReactorStrategy</span><span class="o">(</span><span class="n">AllConfinedStagedReactorFactory</span><span class="o">.</span><span class="na">class</span><span class="o">)</span>&#x000A;<span class="kd">public</span> <span class="kd">class</span> <span class="nc">VersionAsInProjectKarafTest</span>
  <span class="o">{</span>&#x000A;&#x000A;    <span class="nd">@Configuration</span>&#x000A;    <span class="kd">public</span> <span class="n">Option</span><span class="o">[]</span> <span class="nf">config</span><span class="o">()</span> <span class="o">{</span>&#x000A;        <span class="k">return</span> <span class="k">new</span> <span class="n">Option</span><span class="o">[]{</span> <span class="n">karafDistributionConfiguration</span><span class="o">().</span><span class="na">frameworkUrl</span><span class="o">(</span>&#x000A;            <span class="n">maven</span><span class="o">().</span><span class="na">groupId</span><span class="o">(</span><span class="s">&quot;org.apache.karaf&quot;</span><span class="o">).</span><span class="na">artifactId</span><span class="o">(</span><span class="s">&quot;apache-karaf&quot;</span><span class="o">).</span><span class="na">type</span><span class="o">(</span><span class="s">&quot;zip&quot;</span><span class="o">).</span><span class="na">v
 ersionAsInProject</span><span class="o">())</span>&#x000A;            <span class="o">.</span><span class="na">karafVersion</span><span class="o">(</span><span class="s">&quot;2.2.4&quot;</span><span class="o">).</span><span class="na">name</span><span class="o">(</span><span class="s">&quot;Apache Karaf&quot;</span><span class="o">)};</span>&#x000A;    <span class="o">}</span>&#x000A;&#x000A;    <span class="nd">@Test</span>&#x000A;    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">test</span><span class="o">()</span> <span class="kd">throws</span> <span class="n">Exception</span> <span class="o">{</span>&#x000A;        <span class="n">assertTrue</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span>&#x000A;    <span class="o">}</span>&#x000A;<span class="o">}</span>&#x000A;</pre></div>&#x000A;</div><h2 id="Commands">Commands</h2><p>Basically the Pax Exam - Karaf bridge introduced with 3.0 should support all commands you kn
 ow from Pax Exam 2.x. In addition we've added various additional commands to make your life easier. Those commands are listed and explained in this sub section.</p><p>As a small remark: All of the Options explained here are also accessible via the static methods in the KarafDistributionOption class in the options package automatically on your classpath when you reference the container package.</p><h3 id="KarafDistributionConfigurationOption">KarafDistributionConfigurationOption</h3><p>The framework itself is non of the typical runtimes you define normally in PAXEXAM. Instead you define a packed distribution as zip or tar.gz. Those distributions have to follow the Karaf packaging style. Therefore instead of Karaf you can also enter Servicemix or Geronimo.</p><div class="syntax"><div class="highlight"><pre><span class="k">new</span> <span class="nf">KarafDistributionConfigurationOption</span><span class="o">(</span>&#x000A;  <span class="s">&quot;mvn:org.apache.karaf/apache-karaf/2.2.
 4/zip&quot;</span><span class="o">,</span> <span class="c1">// artifact to unpack and use</span>&#x000A;  <span class="s">&quot;karaf&quot;</span><span class="o">,</span> <span class="c1">// name; display only</span>&#x000A;  <span class="s">&quot;2.2.4&quot;</span><span class="o">)</span> <span class="c1">// the karaf version; this one is relevant since the startup script differs between versions</span>&#x000A;</pre></div>&#x000A;</div><p>or for Servicemix e.g.</p><div class="syntax"><div class="highlight"><pre><span class="k">new</span> <span class="nf">KarafDistributionConfigurationOption</span><span class="o">(</span>&#x000A;  <span class="s">&quot;mvn:org.apache.servicemix/apache-servicemix/4.4.0/zip&quot;</span><span class="o">,</span> <span class="c1">// artifact to unpack and use</span>&#x000A;  <span class="s">&quot;servicemix&quot;</span><span class="o">,</span> <span class="c1">// name; display only</span>&#x000A;  <span class="s">&quot;2.2.4&quot;</span><span class="o">)
 </span> <span class="c1">// the karaf version; this one is relevant since the startup script differs between versions</span>&#x000A;</pre></div>&#x000A;</div><p>As an alternative you can also use the maven url resolvers. Please keep in mind that this only works starting with karaf-3.0.0 since there will be problems with the pax-url version. In addition, if you want to make use of the versionAsInProject part you also need to define the following maven-plugin in the pom file of your integration tests:</p><div class="syntax"><div class="highlight"><pre>...&#x000A;<span class="nt">&lt;dependency&gt;</span>&#x000A;  <span class="nt">&lt;groupId&gt;</span>org.apache.karaf<span class="nt">&lt;/groupId&gt;</span>&#x000A;  <span class="nt">&lt;artifactId&gt;</span>apache-karaf<span class="nt">&lt;/artifactId&gt;</span>&#x000A;  <span class="nt">&lt;type&gt;</span>zip<span class="nt">&lt;/type&gt;</span>&#x000A;  <span class="nt">&lt;classifier&gt;</span>bin<span class="nt">&lt;/classifier&gt
 ;</span>&#x000A;  <span class="nt">&lt;scope&gt;</span>test<span class="nt">&lt;/scope&gt;</span>&#x000A;<span class="nt">&lt;/dependency&gt;</span>&#x000A;...&#x000A;<span class="nt">&lt;plugin&gt;</span>&#x000A;  <span class="nt">&lt;groupId&gt;</span>org.apache.servicemix.tooling<span class="nt">&lt;/groupId&gt;</span>&#x000A;  <span class="nt">&lt;artifactId&gt;</span>depends-maven-plugin<span class="nt">&lt;/artifactId&gt;</span>&#x000A;  <span class="nt">&lt;executions&gt;</span>&#x000A;    <span class="nt">&lt;execution&gt;</span>&#x000A;      <span class="nt">&lt;id&gt;</span>generate-depends-file<span class="nt">&lt;/id&gt;</span>&#x000A;      <span class="nt">&lt;goals&gt;</span>&#x000A;        <span class="nt">&lt;goal&gt;</span>generate-depends-file<span class="nt">&lt;/goal&gt;</span>&#x000A;      <span class="nt">&lt;/goals&gt;</span>&#x000A;    <span class="nt">&lt;/execution&gt;</span>&#x000A;  <span class="nt">&lt;/executions&gt;</span>&#x000A;<span class="nt">&lt;/
 plugin&gt;</span>&#x000A;</pre></div>&#x000A;</div><div class="syntax"><div class="highlight"><pre><span class="nd">@Configuration</span>&#x000A;    <span class="kd">public</span> <span class="n">Option</span><span class="o">[]</span> <span class="nf">config</span><span class="o">()</span> <span class="o">{</span>&#x000A;        <span class="k">return</span> <span class="k">new</span> <span class="n">Option</span><span class="o">[]{</span> <span class="n">karafDistributionConfiguration</span><span class="o">().</span><span class="na">frameworkUrl</span><span class="o">(</span>&#x000A;            <span class="n">maven</span><span class="o">().</span><span class="na">groupId</span><span class="o">(</span><span class="s">&quot;org.apache.karaf&quot;</span><span class="o">).</span><span class="na">artifactId</span><span class="o">(</span><span class="s">&quot;apache-karaf&quot;</span><span class="o">).</span><span class="na">type</span><span class="o">(</span><span class="s">&quot;zip&q
 uot;</span><span class="o">)</span>&#x000A;                <span class="o">.</span><span class="na">classifier</span><span class="o">(</span><span class="s">&quot;bin&quot;</span><span class="o">).</span><span class="na">versionAsInProject</span><span class="o">())</span> <span class="o">};</span>&#x000A;    <span class="o">}</span>&#x000A;</pre></div>&#x000A;</div><p>In addition to the framework specification options this option also includes various additional configuration options. Those options are used to configure the internal properties of the runtime environment.</p><h4 id="UnpackDirectory">Unpack Directory</h4><p>Paxexam-Karaf Testframework extracts the distribution you specify by default into the paxexam config directory. If you would like to unpack them into your target directory simply extend the KarafDistributionConfigurationOption with the unpackDirectoryFile like shown in the next example:</p><div class="syntax"><div class="highlight"><pre><span class="nd">@Configurat
 ion</span>&#x000A;<span class="kd">public</span> <span class="n">Option</span><span class="o">[]</span> <span class="nf">config</span><span class="o">()</span> <span class="o">{</span>&#x000A;    <span class="k">return</span> <span class="k">new</span> <span class="n">Option</span><span class="o">[]{</span> <span class="n">karafDistributionConfiguration</span><span class="o">(</span><span class="s">&quot;mvn:org.apache.karaf/apache-karaf/2.4.5-SNAPSHOT/zip&quot;</span><span class="o">)</span>&#x000A;        <span class="o">.</span><span class="na">unpackDirectory</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="s">&quot;target/paxexam/unpack/&quot;</span><span class="o">))</span> <span class="o">};</span>&#x000A;<span class="o">}</span>&#x000A;</pre></div>&#x000A;</div><h4 id="UseDeployFolder">Use Deploy Folder</h4><p>Karaf distributions come by default with a deploy folder where you can simply drop artifacts to
  be deployed. In some distributions this folder might have been removed. To still be able to deploy your additional artifacts using default Pax Exam ProvisionOptions you can configure PaxExam Karaf to use a features.xml (which is directly added to your etc/org.apache.karaf.features.cfg) for those deploys. To use it instead of the deploy folder simply do the following:</p><div class="syntax"><div class="highlight"><pre><span class="nd">@Configuration</span>&#x000A;<span class="kd">public</span> <span class="n">Option</span><span class="o">[]</span> <span class="nf">config</span><span class="o">()</span> <span class="o">{</span>&#x000A;    <span class="k">return</span> <span class="k">new</span> <span class="n">Option</span><span class="o">[]{</span> <span class="n">karafDistributionConfiguration</span><span class="o">(</span><span class="s">&quot;mvn:org.apache.karaf/apache-karaf/2.4.5-SNAPSHOT/zip&quot;</span><span class="o">)</span>&#x000A;        <span class="o">.</span><span clas
 s="na">useDeployFolder</span><span class="o">(</span><span class="kc">false</span><span class="o">))</span> <span class="o">};</span>&#x000A;<span class="o">}</span>&#x000A;</pre></div>&#x000A;</div><h3 id="KarafDistributionKitConfigurationOption">KarafDistributionKitConfigurationOption</h3><p>The KarafDistributionKitConfigurationOption is almost equal to all variations of the KarafDistributionConfigurationOption with the exception that it requires to have set a platform and optionally the executable and the files which should be made executable additionally. By default it is bin/karaf for nix platforms and bin\karaf.bat for windows platforms. The executable option comes in handy if you like to e.g. embed an own java runtime. You should add a windows AND a linux Kit definition. The framework automatically takes the correct one then. The following shows a simple example for karaf:</p><div class="syntax"><div class="highlight"><pre><span class="nd">@Configuration</span>&#x000A;<span c
 lass="kd">public</span> <span class="n">Option</span><span class="o">[]</span> <span class="nf">config</span><span class="o">()</span> <span class="o">{</span>&#x000A;    <span class="k">return</span> <span class="k">new</span> <span class="n">Option</span><span class="o">[]{</span>&#x000A;        <span class="k">new</span> <span class="nf">KarafDistributionKitConfigurationOption</span><span class="o">(</span><span class="s">&quot;mvn:org.apache.karaf/apache-karaf/2.4.5-SNAPSHOT/zip&quot;</span><span class="o">,</span>&#x000A;            <span class="n">Platform</span><span class="o">.</span><span class="na">WINDOWS</span><span class="o">).</span><span class="na">executable</span><span class="o">(</span><span class="s">&quot;bin\\karaf.bat&quot;</span><span class="o">).</span><span class="na">filesToMakeExecutable</span><span class="o">(</span><span class="s">&quot;bin\\admin.bat&quot;</span><span class="o">),</span>&#x000A;        <span class="k">new</span> <span class="nf">KarafDi
 stributionKitConfigurationOption</span><span class="o">(</span><span class="s">&quot;mvn:org.apache.karaf/apache-karaf/2.4.5-SNAPSHOT/tar.gz&quot;</span><span class="o">,</span> <span class="s">&quot;karaf&quot;</span><span class="o">,</span>&#x000A;            <span class="n">Platform</span><span class="o">.</span><span class="na">NIX</span><span class="o">).</span><span class="na">executable</span><span class="o">(</span><span class="s">&quot;bin/karaf&quot;</span><span class="o">).</span><span class="na">filesToMakeExecutable</span><span class="o">(</span><span class="s">&quot;bin/admin&quot;</span><span class="o">)</span> <span class="o">};</span>&#x000A;<span class="o">}</span>&#x000A;</pre></div>&#x000A;</div><h3 id="KarafDistributionConfigurationFilePutOption">KarafDistributionConfigurationFilePutOption</h3><p>The option replaces or adds an option to one of Karaf's configuration files:</p><div class="syntax"><div class="highlight"><pre><span class="k">new</span> <span class="
 nf">KarafDistributionConfigurationFilePutOption</span><span class="o">(</span>&#x000A;  <span class="s">&quot;etc/config.properties&quot;</span><span class="o">,</span> <span class="c1">// config file to modify based on karaf.base</span>&#x000A;  <span class="s">&quot;karaf.framework&quot;</span><span class="o">,</span> <span class="c1">// key to add or change</span>&#x000A;  <span class="s">&quot;equinox&quot;</span><span class="o">)</span> <span class="c1">// value to add or change</span>&#x000A;</pre></div>&#x000A;</div><p>This option could also be used in "batch-mode" via a property file. Therefore use the KarafDistributionOption#editConfigurationFilePut(final String configurationFilePath, File source, String... keysToUseFromSource) method. This option allows you to add all properties found in the file as KarafDistributionConfigurationFilePutOption. If you configure the "keysToUseFromSource" array only the keys specified there will be used. That way you can easily put an entire 
 range of properties.</p><h3 id="KarafDistributionConfigurationFileExtendOption">KarafDistributionConfigurationFileExtendOption</h3><p>This one does the same as the KarafDistributionConfigurationFilePutOption option with the one difference that it either adds or appends a specific property. This is especially useful if you do not want to store the entire configuration in the line in your code.</p><p>This option could also be extended in "batch-mode" via a property file. Therefore use the KarafDistributionOption#editConfigurationFileExtend(final String configurationFilePath, File source, String... keysToUseFromSource) method. This option allows you to extend all properties found in the file as KarafDistributionConfigurationFileExtendOption. If you configure the "keysToUseFromSource" array only the keys specified there will be used. That way you can easily extend an entire range of properties.</p><h3 id="KarafDistributionConfigurationFileReplacementOption">KarafDistributionConfiguratio
 nFileReplacementOption</h3><p>The file replacement option allows you to simply replace a file in you Karaf distribution with a different file:</p><div class="syntax"><div class="highlight"><pre><span class="k">new</span> <span class="nf">KarafDistributionConfigurationFileReplacementOption</span><span class="o">(</span><span class="s">&quot;etc/tests.cfg&quot;</span><span class="o">,</span> <span class="k">new</span> <span class="n">File</span><span class="o">(</span>&#x000A;    <span class="s">&quot;src/test/resources/BaseKarafDefaultFrameworkDuplicatedPropertyEntryTestSecondKey&quot;</span><span class="o">));</span>&#x000A;</pre></div>&#x000A;</div><h3 id="ProvisionOption">ProvisionOption</h3><p>The new test container fully supports the provision option. Feel free to use any option provided here by paxexam itself (e.g. Maven resolver). All those artifacts are copied into the deploy folder of your Karaf distribution before it is started. Therefore they all will be available after st
 artup.</p><h3 id="KarafDistributionConfigurationConsoleOption">KarafDistributionConfigurationConsoleOption</h3><p>The test container supports options to configure if the localConsole and/or the remote shell should be started. Possible options to do so are shown in the following two examples:</p><div class="syntax"><div class="highlight"><pre><span class="nd">@Configuration</span>&#x000A;<span class="kd">public</span> <span class="n">Option</span><span class="o">[]</span> <span class="nf">config</span><span class="o">()</span> <span class="o">{</span>&#x000A;    <span class="k">return</span> <span class="k">new</span> <span class="n">Option</span><span class="o">[]{</span> <span class="n">karafDistributionConfiguration</span><span class="o">(</span><span class="s">&quot;mvn:org.apache.karaf/apache-karaf/2.4.5-SNAPSHOT/zip&quot;</span><span class="o">),</span> &#x000A;        <span class="n">configureConsole</span><span class="o">().</span><span class="na">ignoreLocalConsole</span><sp
 an class="o">().</span><span class="na">startRemoteShell</span><span class="o">()</span> <span class="o">};</span>&#x000A;<span class="o">}</span>&#x000A;</pre></div>&#x000A;</div><div class="syntax"><div class="highlight"><pre><span class="nd">@Configuration</span>&#x000A;<span class="kd">public</span> <span class="n">Option</span><span class="o">[]</span> <span class="nf">config</span><span class="o">()</span> <span class="o">{</span>&#x000A;    <span class="k">return</span> <span class="k">new</span> <span class="n">Option</span><span class="o">[]{</span> <span class="n">karafDistributionConfiguration</span><span class="o">(</span><span class="s">&quot;mvn:org.apache.karaf/apache-karaf/2.4.5-SNAPSHOT/zip&quot;</span><span class="o">),</span> &#x000A;        <span class="n">configureConsole</span><span class="o">().</span><span class="na">startLocalConsole</span><span class="o">(),</span> <span class="n">configureConsole</span><span class="o">().</span><span class="na">ignoreRemot
 eShell</span><span class="o">()</span> <span class="o">};</span>&#x000A;<span class="o">}</span>&#x000A;</pre></div>&#x000A;</div><h3 id="VMOption">VMOption</h3><p>The Karaf container passes the vmOptions now through to the Karaf environment. They are directly passed to the startup of the container. In addition the KarafDistributionOption helper has two methods (debugConfiguration() and debugConfiguration(String port, boolean hold)) to activate debugging quickly.</p><h3 id="LogLevelOption">LogLevelOption</h3><p>The Paxexam-Karaf specific log-level option allows an easy way to set a specific log-level for the Karaf based distribution. For example simply add the following to your Option[] array to get TRACE logging:</p><div class="syntax"><div class="highlight"><pre><span class="kn">import</span> <span class="nn">static</span> <span class="n">org</span><span class="o">.</span><span class="na">openengsb</span><span class="o">.</span><span class="na">labs</span><span class="o">.</span><
 span class="na">paxexam</span><span class="o">.</span><span class="na">karaf</span><span class="o">.</span><span class="na">options</span><span class="o">.</span><span class="na">KarafDistributionOption</span><span class="o">.</span><span class="na">logLevel</span><span class="o">;</span>&#x000A;<span class="o">...</span>&#x000A;<span class="nd">@Configuration</span>&#x000A;<span class="kd">public</span> <span class="n">Option</span><span class="o">[]</span> <span class="nf">config</span><span class="o">()</span> <span class="o">{</span>&#x000A;    <span class="k">return</span> <span class="k">new</span> <span class="n">Option</span><span class="o">[]{</span> <span class="n">karafDistributionConfiguration</span><span class="o">(</span><span class="s">&quot;mvn:org.apache.karaf/apache-karaf/2.4.5-SNAPSHOT/zip&quot;</span><span class="o">),</span> &#x000A;        <span class="n">logLevel</span><span class="o">(</span><span class="n">LogLevel</span><span class="o">.</span><span class="
 na">TRACE</span><span class="o">)</span> <span class="o">};</span>&#x000A;<span class="o">}</span>&#x000A;</pre></div>&#x000A;</div><h3 id="DoNotModifyLogOption">DoNotModifyLogOption</h3><p>The option to modify the logging behavior requires that the container automatically modifies the logging configuration file. If you would like to suppress this behavior simply set the doNotModifyLogConfiguration option as shown in the next example:</p><div class="syntax"><div class="highlight"><pre><span class="nd">@Configuration</span>&#x000A;<span class="kd">public</span> <span class="n">Option</span><span class="o">[]</span> <span class="nf">config</span><span class="o">()</span> <span class="o">{</span>&#x000A;    <span class="k">return</span> <span class="k">new</span> <span class="n">Option</span><span class="o">[]{</span> <span class="n">karafDistributionConfiguration</span><span class="o">(</span><span class="s">&quot;mvn:org.apache.karaf/apache-karaf/2.4.5-SNAPSHOT/zip&quot;</span><span 
 class="o">),</span> &#x000A;        <span class="n">doNotModifyLogConfiguration</span><span class="o">()</span> <span class="o">};</span>&#x000A;<span class="o">}</span>&#x000A;</pre></div>&#x000A;</div><h3 id="KeepRuntimeFolderOption">KeepRuntimeFolderOption</h3><p>Per default the test container removes all test runner folders. If you want to keep them for any reasons (e.g. check why a test fails) set the following option:</p><div class="syntax"><div class="highlight"><pre><span class="nd">@Configuration</span>&#x000A;<span class="kd">public</span> <span class="n">Option</span><span class="o">[]</span> <span class="nf">config</span><span class="o">()</span> <span class="o">{</span>&#x000A;    <span class="k">return</span> <span class="k">new</span> <span class="n">Option</span><span class="o">[]{</span> <span class="n">karafDistributionConfiguration</span><span class="o">(</span><span class="s">&quot;mvn:org.apache.karaf/apache-karaf/2.4.5-SNAPSHOT/zip&quot;</span><span class="o">)
 ,</span> &#x000A;        <span class="n">keepRuntimeFolder</span><span class="o">()</span> <span class="o">};</span>&#x000A;<span class="o">}</span>&#x000A;</pre></div>&#x000A;</div><h3 id="FeaturesScannerProvisionOption">FeaturesScannerProvisionOption</h3><p>The FeaturesScannerProvisionOption (e.g. CoreOption.scanFeature()) are directly supported by the Paxexam Karaf Testframework.</p><h3 id="BootDelegationOption">BootDelegationOption</h3><p>The BootDelegationOption as known from PaxExam is also supported added the boot delegation string directly into the correct property files.</p><h3 id="SystemPackageOption">SystemPackageOption</h3><p>The Standard Exam SystemPackageOption is implemented by adding those packages to "org.osgi.framework.system.packages.extra" of the config.properties file.</p><h3 id="BootClasspathLibraryOption">BootClasspathLibraryOption</h3><p>The BootClasspathLibraryOption is honored by copying the urls into the lib directory where they are automatically taken and
  worked on.</p><h3 id="ExamBundlesStartLevel">ExamBundlesStartLevel</h3><p>The ExamBundlesStartLevel can be used to configure the start lvl of the bundles provided by the test-frameworks features.xml. Simply use it as a new option like:</p><div class="syntax"><div class="highlight"><pre><span class="nd">@Configuration</span>&#x000A;<span class="kd">public</span> <span class="n">Option</span><span class="o">[]</span> <span class="nf">config</span><span class="o">()</span> <span class="o">{</span>&#x000A;    <span class="k">return</span> <span class="k">new</span> <span class="n">Option</span><span class="o">[]{</span> <span class="n">karafDistributionConfiguration</span><span class="o">(</span><span class="s">&quot;mvn:org.apache.karaf/apache-karaf/2.4.5-SNAPSHOT/zip&quot;</span><span class="o">),</span>&#x000A;            <span class="n">useOwnExamBundlesStartLevel</span><span class="o">(</span><span class="mi">4</span><span class="o">)</span> <span class="o">};</span>&#x000A;<span 
 class="o">}</span>&#x000A;</pre></div>&#x000A;</div><h2 id="Driver">Driver</h2><p>Drivers are the parts of the framework responsible for running the Karaf Based Distribution. By default the already in the overview explained KarafDistributionConfigurationOption uses a JavaRunner starting the distribution platform independent but not using the scripts in the distribution. If you like to test those scripts too an option is to to use the ScriptRunner via the KarafDistributionKitConfigurationOption instead.</p><h3 id="JavaRunner">JavaRunner</h3><p>The JavaRunner builds the entire command itself and executes Karaf in a new JVM. This behavior is more or less exactly what the default runner does. Simply use the KarafDistributionConfigurationOption as explained in the Commands section to use this.</p><h3 id="ScriptRunner">ScriptRunner</h3><p>The script runner has the disadvantage over the java runner that it is also platform dependent. The advantage though is that you can also test your spec
 ific scripts. To use it follow the explanation of the KarafDistributionKitConfigurationOption in the Commands section.</p>
+                </div>
+              </td>
+            </tr>
+          </table>
+        </td>
+        <td id="cell-2-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-3-0">
+          &nbsp;
+        </td>
+        <td id="cell-3-1">
+          &nbsp;
+        </td>
+        <td id="cell-3-2">
+          <div id="footer">
+            <div id="site-footer">
+              &copy; 2008-2011 The Apache Software Foundation
+              <br/>
+              Apache Karaf, Karaf, Apache, the Apache feather logo, and the Apache Karaf project logo are trademarks of The Apache Software Foundation.
+            </div>
+          </div>
+        </td>
+        <td id="cell-3-3">
+          &nbsp;
+        </td>
+        <td id="cell-3-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-4-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-4-1">
+          &nbsp;
+        </td>
+        <td id="cell-4-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>
\ No newline at end of file

Added: karaf/site/production/manual/latest-2.x/images/asf-logo.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/asf-logo.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/asf-logo.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/bg.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/bg.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/bg.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/bg02-blue-left.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/bg02-blue-left.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/bg02-blue-left.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/bg02-blue-right.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/bg02-blue-right.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/bg02-blue-right.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/bg02-white-left-nogr.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/bg02-white-left-nogr.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/bg02-white-left-nogr.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/bg02-white-right-nogr.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/bg02-white-right-nogr.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/bg02-white-right-nogr.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/big-bullet.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/big-bullet.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/big-bullet.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/deployer.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/deployer.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/deployer.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/jconsole_admin.jpg
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/jconsole_admin.jpg?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/jconsole_admin.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/jconsole_connect.jpg
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/jconsole_connect.jpg?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/jconsole_connect.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/jconsole_features.jpg
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/jconsole_features.jpg?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/jconsole_features.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/jconsole_memory.jpg
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/jconsole_memory.jpg?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/jconsole_memory.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/jconsole_overview.jpg
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/jconsole_overview.jpg?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/jconsole_overview.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/jconsole_summary.jpg
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/jconsole_summary.jpg?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/jconsole_summary.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/jconsole_threads.jpg
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/jconsole_threads.jpg?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/jconsole_threads.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/karaf-logo.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/karaf-logo.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/karaf-logo.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/karaf.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/karaf.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/karaf.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/karaf2.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/karaf2.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/karaf2.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/left-box-bottom.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/left-box-bottom.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/left-box-bottom.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/left-box-right.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/left-box-right.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/left-box-right.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/images/left-box-top.png
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/images/left-box-top.png?rev=1742536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: karaf/site/production/manual/latest-2.x/images/left-box-top.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: karaf/site/production/manual/latest-2.x/index.html
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/index.html?rev=1742536&view=auto
==============================================================================
--- karaf/site/production/manual/latest-2.x/index.html (added)
+++ karaf/site/production/manual/latest-2.x/index.html Fri May  6 12:23:15 2016
@@ -0,0 +1,150 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"> 
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="description" content="description goes here"/>
+    <meta name="keywords" content="keywords,goes,here"/>
+    <meta name="author" content="The Apache Karaf Team"/>
+    <link href="css/style.css" rel="stylesheet" type="text/css"/>
+    <link href="css/pygmentize.css" rel="stylesheet" type="text/css"/>
+    <title>
+      Apache Karaf 2.4.5-SNAPSHOT Guides
+    </title>
+  </head>
+  <body>
+    <table width="100%" cellpadding="0" cellspacing="0">
+      <tr width="100%">
+        <td id="cell-0-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-0-1">
+          &nbsp;
+        </td>
+        <td id="cell-0-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-1-0">
+          &nbsp;
+        </td>
+        <td id="cell-1-1">
+          &nbsp;
+        </td>
+        <td id="cell-1-2">
+          <div style="padding: 5px;">
+            <div id="banner">
+                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td align="left" class="topbardiv" nowrap="">
+<a href="http://karaf.apache.org/" title="A server side OSGi distribution">
+            <img border="0" src="images/karaf-logo.png" width="400px"></img>
+</a>
+          </td>
+          <td align="right" nowrap="">
+<a href="http://www.apache.org/" title="The Apache Sofware Foundation">
+            <img border="0" src="images/asf-logo.png">
+</a>
+          </td>
+        </tr>
+      </table>
+
+            </div>
+            <div id="top-menu">
+              <table border="0" cellpadding="1" cellspacing="0" width="100%">
+                <tr>
+                  <td>
+                    <div align="left"></div>
+                  </td>
+                  <td>
+                    <div align="right">
+                      <p>
+<a href="index.html" title="Home">Home</a>
+&#124;
+<a href="users-guide/index.html" title="Users Guide">Users Guide</a>
+&#124;
+<a href="developers-guide/index.html" title="Developers Guide">Developers Guide</a>
+</p>
+
+
+                    </div>
+                  </td>
+                </tr>
+              </table>
+            </div>
+          </div>
+        </td>
+        <td id="cell-1-3">
+          &nbsp;
+        </td>
+        <td id="cell-1-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-2-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-2-1">
+          <table>
+            <tr height="100%" valign="top">
+              <td height="100%">
+                <div id="wrapper-menu-page-right">
+                  <div id="wrapper-menu-page-top">
+                    <div id="wrapper-menu-page-bottom">
+                      <div id="menu-page">
+                        <h3 id="Homeindex"><a href="index.html">Home</a></h3><ul style="list-style: square"><li><a href="overview.html">Overview</a></li><li><a href="quick-start.html">Quick Start</a></li></ul><h3 id="UsersGuideusersguideindex"><a href="users-guide/index.html">Users Guide</a></h3><ul style="list-style: square"><li><a href="users-guide/installation.html">Installing Karaf</a></li><li><a href="users-guide/directory-structure.html">Directory Structure</a></li><li><a href="users-guide/start-stop.html">Starting and stopping Karaf</a></li><li><a href="users-guide/wrapper.html">OS integration</a></li><li><a href="users-guide/using-console.html">Using the console</a></li><li><a href="users-guide/remote-console.html">Remote console</a></li><li><a href="users-guide/web-console.html">Web console</a></li><li><a href="users-guide/child-instances.html">Child instances</a></li><li><a href="users-guide/security.html">Security</a></li><li><a href="users-guide/failover.html">Failover D
 eployments</a></li><li><a href="users-guide/logging-system.html">Logging system</a></li><li><a href="users-guide/deployer.html">Deployer</a></li><li><a href="users-guide/provisioning.html">Provisioning</a></li><li><a href="users-guide/kar.html">KAR archive</a></li><li><a href="users-guide/configuration.html">Configuration</a></li><li><a href="users-guide/http.html">HTTP service</a></li><li><a href="users-guide/web-applications.html">Web applications</a></li><li><a href="users-guide/jre-tuning.html">JRE tuning</a></li><li><a href="users-guide/jmx.html">JMX for administration and monitoring</a></li></ul><h3 id="DevelopersGuidedevelopersguideindex"><a href="developers-guide/index.html">Developers Guide</a></h3><ul style="list-style: square"><li><a href="developers-guide/archetypes.html">Maven Archetypes</a></li><li><a href="developers-guide/branding-console.html">Branding the Console</a></li><li><a href="developers-guide/extending-console.html">Extending the Console</a></li><li><a href
 ="developers-guide/custom-distribution.html">Custom Distribution</a></li><li><a href="developers-guide/security-framework.html">Security Framework</a></li><li><a href="developers-guide/features-maven-plugin.html">Using the features-maven-plugin</a></li><li><a href="developers-guide/debugging.html">Troubleshooting, Debugging and Profiling</a></li><li><a href="developers-guide/connect-console.html">Programmatically connect to the console</a></li><li><a href="developers-guide/writing-tests.html">Writing integration tests</a></li><li><a href="developers-guide/creating-bundles.html">Creating bundles</a></li><li><a href="developers-guide/shell-syntax.html">Shell syntax</a></li><li><a href="developers-guide/github-contributions.html">Github Contributions</a></li></ul><h3 id="Commandscommandscommands"><a href="commands/commands.html">Commands</a></h3>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </td>
+              <td height="100%" width="100%">
+                <div class="wiki-content">
+<h1 id="ApacheKaraf">Apache Karaf</h1><p>This project contains documentation about Apache Karaf.</p><ul><li><a href="overview.html">Karaf Overview</a></li><li><a href="quick-start.html">Quick Start</a></li><li><a href="users-guide/index.html">Users Guide</a></li><li><a href="developers-guide/index.html">Developers Guide</a></li><li><a href="commands/commands.html">Commands Reference</a></li></ul>
+                </div>
+              </td>
+            </tr>
+          </table>
+        </td>
+        <td id="cell-2-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-3-0">
+          &nbsp;
+        </td>
+        <td id="cell-3-1">
+          &nbsp;
+        </td>
+        <td id="cell-3-2">
+          <div id="footer">
+            <div id="site-footer">
+              &copy; 2008-2011 The Apache Software Foundation
+              <br/>
+              Apache Karaf, Karaf, Apache, the Apache feather logo, and the Apache Karaf project logo are trademarks of The Apache Software Foundation.
+            </div>
+          </div>
+        </td>
+        <td id="cell-3-3">
+          &nbsp;
+        </td>
+        <td id="cell-3-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-4-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-4-1">
+          &nbsp;
+        </td>
+        <td id="cell-4-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>
\ No newline at end of file

Added: karaf/site/production/manual/latest-2.x/overview.html
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/overview.html?rev=1742536&view=auto
==============================================================================
--- karaf/site/production/manual/latest-2.x/overview.html (added)
+++ karaf/site/production/manual/latest-2.x/overview.html Fri May  6 12:23:15 2016
@@ -0,0 +1,150 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"> 
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="description" content="description goes here"/>
+    <meta name="keywords" content="keywords,goes,here"/>
+    <meta name="author" content="The Apache Karaf Team"/>
+    <link href="css/style.css" rel="stylesheet" type="text/css"/>
+    <link href="css/pygmentize.css" rel="stylesheet" type="text/css"/>
+    <title>
+      Apache Karaf 2.4.5-SNAPSHOT Guides
+    </title>
+  </head>
+  <body>
+    <table width="100%" cellpadding="0" cellspacing="0">
+      <tr width="100%">
+        <td id="cell-0-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-0-1">
+          &nbsp;
+        </td>
+        <td id="cell-0-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-1-0">
+          &nbsp;
+        </td>
+        <td id="cell-1-1">
+          &nbsp;
+        </td>
+        <td id="cell-1-2">
+          <div style="padding: 5px;">
+            <div id="banner">
+                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td align="left" class="topbardiv" nowrap="">
+<a href="http://karaf.apache.org/" title="A server side OSGi distribution">
+            <img border="0" src="images/karaf-logo.png" width="400px"></img>
+</a>
+          </td>
+          <td align="right" nowrap="">
+<a href="http://www.apache.org/" title="The Apache Sofware Foundation">
+            <img border="0" src="images/asf-logo.png">
+</a>
+          </td>
+        </tr>
+      </table>
+
+            </div>
+            <div id="top-menu">
+              <table border="0" cellpadding="1" cellspacing="0" width="100%">
+                <tr>
+                  <td>
+                    <div align="left"></div>
+                  </td>
+                  <td>
+                    <div align="right">
+                      <p>
+<a href="index.html" title="Home">Home</a>
+&#124;
+<a href="users-guide/index.html" title="Users Guide">Users Guide</a>
+&#124;
+<a href="developers-guide/index.html" title="Developers Guide">Developers Guide</a>
+</p>
+
+
+                    </div>
+                  </td>
+                </tr>
+              </table>
+            </div>
+          </div>
+        </td>
+        <td id="cell-1-3">
+          &nbsp;
+        </td>
+        <td id="cell-1-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-2-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-2-1">
+          <table>
+            <tr height="100%" valign="top">
+              <td height="100%">
+                <div id="wrapper-menu-page-right">
+                  <div id="wrapper-menu-page-top">
+                    <div id="wrapper-menu-page-bottom">
+                      <div id="menu-page">
+                        <h3 id="Homeindex"><a href="index.html">Home</a></h3><ul style="list-style: square"><li><a href="overview.html">Overview</a></li><li><a href="quick-start.html">Quick Start</a></li></ul><h3 id="UsersGuideusersguideindex"><a href="users-guide/index.html">Users Guide</a></h3><ul style="list-style: square"><li><a href="users-guide/installation.html">Installing Karaf</a></li><li><a href="users-guide/directory-structure.html">Directory Structure</a></li><li><a href="users-guide/start-stop.html">Starting and stopping Karaf</a></li><li><a href="users-guide/wrapper.html">OS integration</a></li><li><a href="users-guide/using-console.html">Using the console</a></li><li><a href="users-guide/remote-console.html">Remote console</a></li><li><a href="users-guide/web-console.html">Web console</a></li><li><a href="users-guide/child-instances.html">Child instances</a></li><li><a href="users-guide/security.html">Security</a></li><li><a href="users-guide/failover.html">Failover D
 eployments</a></li><li><a href="users-guide/logging-system.html">Logging system</a></li><li><a href="users-guide/deployer.html">Deployer</a></li><li><a href="users-guide/provisioning.html">Provisioning</a></li><li><a href="users-guide/kar.html">KAR archive</a></li><li><a href="users-guide/configuration.html">Configuration</a></li><li><a href="users-guide/http.html">HTTP service</a></li><li><a href="users-guide/web-applications.html">Web applications</a></li><li><a href="users-guide/jre-tuning.html">JRE tuning</a></li><li><a href="users-guide/jmx.html">JMX for administration and monitoring</a></li></ul><h3 id="DevelopersGuidedevelopersguideindex"><a href="developers-guide/index.html">Developers Guide</a></h3><ul style="list-style: square"><li><a href="developers-guide/archetypes.html">Maven Archetypes</a></li><li><a href="developers-guide/branding-console.html">Branding the Console</a></li><li><a href="developers-guide/extending-console.html">Extending the Console</a></li><li><a href
 ="developers-guide/custom-distribution.html">Custom Distribution</a></li><li><a href="developers-guide/security-framework.html">Security Framework</a></li><li><a href="developers-guide/features-maven-plugin.html">Using the features-maven-plugin</a></li><li><a href="developers-guide/debugging.html">Troubleshooting, Debugging and Profiling</a></li><li><a href="developers-guide/connect-console.html">Programmatically connect to the console</a></li><li><a href="developers-guide/writing-tests.html">Writing integration tests</a></li><li><a href="developers-guide/creating-bundles.html">Creating bundles</a></li><li><a href="developers-guide/shell-syntax.html">Shell syntax</a></li><li><a href="developers-guide/github-contributions.html">Github Contributions</a></li></ul><h3 id="Commandscommandscommands"><a href="commands/commands.html">Commands</a></h3>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </td>
+              <td height="100%" width="100%">
+                <div class="wiki-content">
+<h1 id="KarafOverview">Karaf Overview</h1><p>Apache Karaf is a small OSGi based runtime which provides a lightweight container onto which various components and applications can be deployed.</p><p>Here is a short list of features supported by the Karaf:</p><ul><li><strong>Hot deployment</strong>: Karaf supports hot deployment of OSGi bundles by monitoring jar files inside the <tt>deploy</tt> directory.  Each time a jar is copied in this folder, it will be installed inside the runtime.  You can then update or delete it and changes will be handled automatically.  In addition, Karaf also supports exploded bundles and custom deployers (Blueprint and Spring ones are included by default).</li><li><strong>Dynamic configuration</strong>: Services are usually configured through the ConfigurationAdmin OSGi service.  Such configuration can be defined in Karaf using property files inside the <tt>etc</tt> directory.  These configurations are monitored and changes on the properties files will be 
 propagated to the services.</li><li><strong>Logging System</strong>: using a centralized logging back end supported by Log4J, Karaf supports a number of different APIs (JDK 1.4, JCL, SLF4J, Avalon, Tomcat, OSGi)</li><li><strong>Provisioning</strong>: Provisioning of libraries or applications can be done through a number of different ways, by which they will be downloaded locally, installed and started.</li><li><strong>Native OS integration</strong>: Karaf can be integrated into your own Operating System as a service so that the lifecycle will be bound to your Operating System.</li><li><strong>Extensible Shell console</strong>: Karaf features a nice text console where you can manage the services, install new applications or libraries and manage their state.  This shell is easily extensible by deploying new commands dynamically along with new features or applications.</li><li><strong>Remote access</strong>: use any SSH client to connect to Karaf and issue commands in the console</li><
 li><strong>Security framework</strong> based on JAAS</li><li><strong>Managing instances</strong>: Karaf provides simple commands for managing multiple instances. You can easily create, delete, start and stop instances of Karaf through the console.</li><li>Supports the latest OSGi 4.2 containers: Apache Felix Framework 3.0 and Eclipse Equinox 3.6</li></ul><p><img border="0" src="images/karaf.png"/></p>
+                </div>
+              </td>
+            </tr>
+          </table>
+        </td>
+        <td id="cell-2-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-3-0">
+          &nbsp;
+        </td>
+        <td id="cell-3-1">
+          &nbsp;
+        </td>
+        <td id="cell-3-2">
+          <div id="footer">
+            <div id="site-footer">
+              &copy; 2008-2011 The Apache Software Foundation
+              <br/>
+              Apache Karaf, Karaf, Apache, the Apache feather logo, and the Apache Karaf project logo are trademarks of The Apache Software Foundation.
+            </div>
+          </div>
+        </td>
+        <td id="cell-3-3">
+          &nbsp;
+        </td>
+        <td id="cell-3-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-4-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-4-1">
+          &nbsp;
+        </td>
+        <td id="cell-4-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>
\ No newline at end of file

Added: karaf/site/production/manual/latest-2.x/quick-start.html
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest-2.x/quick-start.html?rev=1742536&view=auto
==============================================================================
--- karaf/site/production/manual/latest-2.x/quick-start.html (added)
+++ karaf/site/production/manual/latest-2.x/quick-start.html Fri May  6 12:23:15 2016
@@ -0,0 +1,227 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"> 
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="description" content="description goes here"/>
+    <meta name="keywords" content="keywords,goes,here"/>
+    <meta name="author" content="The Apache Karaf Team"/>
+    <link href="css/style.css" rel="stylesheet" type="text/css"/>
+    <link href="css/pygmentize.css" rel="stylesheet" type="text/css"/>
+    <title>
+      Apache Karaf 2.4.5-SNAPSHOT Guides
+    </title>
+  </head>
+  <body>
+    <table width="100%" cellpadding="0" cellspacing="0">
+      <tr width="100%">
+        <td id="cell-0-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-0-1">
+          &nbsp;
+        </td>
+        <td id="cell-0-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-1-0">
+          &nbsp;
+        </td>
+        <td id="cell-1-1">
+          &nbsp;
+        </td>
+        <td id="cell-1-2">
+          <div style="padding: 5px;">
+            <div id="banner">
+                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td align="left" class="topbardiv" nowrap="">
+<a href="http://karaf.apache.org/" title="A server side OSGi distribution">
+            <img border="0" src="images/karaf-logo.png" width="400px"></img>
+</a>
+          </td>
+          <td align="right" nowrap="">
+<a href="http://www.apache.org/" title="The Apache Sofware Foundation">
+            <img border="0" src="images/asf-logo.png">
+</a>
+          </td>
+        </tr>
+      </table>
+
+            </div>
+            <div id="top-menu">
+              <table border="0" cellpadding="1" cellspacing="0" width="100%">
+                <tr>
+                  <td>
+                    <div align="left"></div>
+                  </td>
+                  <td>
+                    <div align="right">
+                      <p>
+<a href="index.html" title="Home">Home</a>
+&#124;
+<a href="users-guide/index.html" title="Users Guide">Users Guide</a>
+&#124;
+<a href="developers-guide/index.html" title="Developers Guide">Developers Guide</a>
+</p>
+
+
+                    </div>
+                  </td>
+                </tr>
+              </table>
+            </div>
+          </div>
+        </td>
+        <td id="cell-1-3">
+          &nbsp;
+        </td>
+        <td id="cell-1-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-2-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-2-1">
+          <table>
+            <tr height="100%" valign="top">
+              <td height="100%">
+                <div id="wrapper-menu-page-right">
+                  <div id="wrapper-menu-page-top">
+                    <div id="wrapper-menu-page-bottom">
+                      <div id="menu-page">
+                        <h3 id="Homeindex"><a href="index.html">Home</a></h3><ul style="list-style: square"><li><a href="overview.html">Overview</a></li><li><a href="quick-start.html">Quick Start</a></li></ul><h3 id="UsersGuideusersguideindex"><a href="users-guide/index.html">Users Guide</a></h3><ul style="list-style: square"><li><a href="users-guide/installation.html">Installing Karaf</a></li><li><a href="users-guide/directory-structure.html">Directory Structure</a></li><li><a href="users-guide/start-stop.html">Starting and stopping Karaf</a></li><li><a href="users-guide/wrapper.html">OS integration</a></li><li><a href="users-guide/using-console.html">Using the console</a></li><li><a href="users-guide/remote-console.html">Remote console</a></li><li><a href="users-guide/web-console.html">Web console</a></li><li><a href="users-guide/child-instances.html">Child instances</a></li><li><a href="users-guide/security.html">Security</a></li><li><a href="users-guide/failover.html">Failover D
 eployments</a></li><li><a href="users-guide/logging-system.html">Logging system</a></li><li><a href="users-guide/deployer.html">Deployer</a></li><li><a href="users-guide/provisioning.html">Provisioning</a></li><li><a href="users-guide/kar.html">KAR archive</a></li><li><a href="users-guide/configuration.html">Configuration</a></li><li><a href="users-guide/http.html">HTTP service</a></li><li><a href="users-guide/web-applications.html">Web applications</a></li><li><a href="users-guide/jre-tuning.html">JRE tuning</a></li><li><a href="users-guide/jmx.html">JMX for administration and monitoring</a></li></ul><h3 id="DevelopersGuidedevelopersguideindex"><a href="developers-guide/index.html">Developers Guide</a></h3><ul style="list-style: square"><li><a href="developers-guide/archetypes.html">Maven Archetypes</a></li><li><a href="developers-guide/branding-console.html">Branding the Console</a></li><li><a href="developers-guide/extending-console.html">Extending the Console</a></li><li><a href
 ="developers-guide/custom-distribution.html">Custom Distribution</a></li><li><a href="developers-guide/security-framework.html">Security Framework</a></li><li><a href="developers-guide/features-maven-plugin.html">Using the features-maven-plugin</a></li><li><a href="developers-guide/debugging.html">Troubleshooting, Debugging and Profiling</a></li><li><a href="developers-guide/connect-console.html">Programmatically connect to the console</a></li><li><a href="developers-guide/writing-tests.html">Writing integration tests</a></li><li><a href="developers-guide/creating-bundles.html">Creating bundles</a></li><li><a href="developers-guide/shell-syntax.html">Shell syntax</a></li><li><a href="developers-guide/github-contributions.html">Github Contributions</a></li></ul><h3 id="Commandscommandscommands"><a href="commands/commands.html">Commands</a></h3>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </td>
+              <td height="100%" width="100%">
+                <div class="wiki-content">
+<h1 id="a1.QuickStart">1. Quick Start</h1><p>If you are in a hurry to have Apache Karaf up and running right away, this section will provide you with some basic steps for downloading, building (when needed) and running the server in no time. This is clearly not a complete guide so you may want to check other sections of this guide for further information.</p><p>All you need is 5 to 10 minutes and to follow these basic steps.</p><ul><li>Background</li><li>Getting the software</li><li>Start the server</li><li>Deploy a sample application</li></ul><h2 id="Background">Background</h2><p>Apache Karaf is a small and lightweight OSGi based runtime.  This provides a small lightweight container onto which various bundles can be deployed.</p><p>Apache Karaf started life as the <a href="http://servicemix.apache.org">Apache ServiceMix</a> kernel and then moved as a <a href="http://felix.apache.org">Apache Felix</a> subproject before becoming a top level project.</p><h2 id="Gettingthesoftware">Get
 ting the software</h2><p>At this time you have one option to get the software. The fastest and easiest way is to get the binary directly from the Apache site. Since this article is intended to help you to have Apache Karaf up and running in the fastest way only the binary download will be covered at this time.</p><h3 id="Prerequisites">Prerequisites</h3><p>Although this installation path is the fastest one, you will still need to install some software before installing Karaf.</p><p>Karaf requires a Java SE 5 environment to run. Refer to <a href="http://www.oracle.com/technetwork/java/javase/">http://www.oracle.com/technetwork/java/javase/</a> for details on how to download and install Java SE 1.5 or greater.</p><h3 id="Downloadbinaries">Download binaries</h3><p>You will need to select the appropriate installation image for the platform you're using to run Karaf. Open a Web browser and access the following URL, there you will find the available packages for download (binaries and sou
 rce code).</p><p><a href="http://karaf.apache.org/index/community/download.html">http://karaf.apache.org/index/community/download.html</a></p><p>Select the file compression format compatible with your system (zip for windows, tar.gz for unixes) by clicking directly on the link, download it and expand the binary to your hard drive in a new directory; for example in z:\karaf - from now on this directory will be referenced as &lt;KARAF_HOME>. Please remember the restrictions concerning illegal characters in Java paths, e.g. !, % etc.</p><p>The installation of Karaf is as simple as uncompressing the .zip or .tar.gz files. The next step is to start the server.</p><h2 id="Starttheserver">Start the server</h2><p>With Karaf already installed, open a command line console and change directory to &lt;KARAF_HOME>. To start the server, run the following command in Windows:</p><pre>
+bin\karaf.bat
+</pre><p>respectively on Unix:</p><pre>
+bin/karaf
+</pre><p>You should see the following information on the command line console:</p><p>You can now run your first command.  Simply type the <tt>&lt;tab></tt> key in the console.</p><pre>
+karaf@root> 
+
+admin:change-port         admin:connect             admin:create              admin:destroy
+admin:list                admin:start               admin:stop                config:cancel
+config:edit               config:list               config:propappend         config:propdel
+config:proplist           config:propset            config:update             dev:dynamic-import
+dev:framework             dev:print-stack-traces    dev:show-tree             features:addUrl
+features:info             features:install          features:list             features:listUrl
+features:refreshUrl       features:removeUrl        features:uninstall        log:display
+log:display-exception     log:get                   log:set                   osgi:bundle-level
+osgi:headers              osgi:install              osgi:list                 osgi:ls
+osgi:refresh              osgi:resolve              osgi:restart              osgi:shutdown
+osgi:start                osgi:start-level          osgi:stop                 osgi:uninstall
+osgi:update               packages:exports          packages:imports          shell:cat
+shell:clear               shell:each                shell:echo                shell:exec
+shell:grep                shell:history             shell:if                  shell:info
+shell:java                shell:logout              shell:new                 shell:printf
+shell:sleep               shell:sort                shell:tac                 ssh:ssh
+ssh:sshd                  cat                       clear                     each
+echo                      exec                      grep                      history
+if                        info                      java                      logout
+new                       printf                    sleep                     sort
+tac                       bundle-level              headers                   install
+list                      ls                        refresh                   resolve
+restart                   shutdown                  start                     start-level
+stop                      uninstall                 update
+karaf@root> 
+</pre><p>You can then grab more specific help for a given command using the <tt>--help</tt> option for this command:</p><pre>
+karaf@root> admin:create --help
+DESCRIPTION
+	admin:create
+
+	Create a new instance.
+
+SYNTAX
+	admin:create [options] name
+
+ARGUMENTS
+        name
+                The name of the new container instance
+
+OPTIONS
+        --help
+                Display this help message
+        -f, --feature
+                Initial features. This option can be specified multiple times to enable multiple initial 
+                features
+        -p, --port
+                Port number for remote shell connection
+        -l, --location
+                Location of the new container instance in the file system
+        -furl, --featureURL
+                Additional feature descriptor URLs. This option can be specified multiple times to add 
+                multiple URLs
+
+karaf@root> 
+</pre><p>Note that the console supports tab completion, so you just need to enter <tt>ad &lt;tab> cr &lt;tab></tt> instead of <tt>admin:create</tt>.</p><h2 id="Deployasampleapplication">Deploy a sample application</h2><p>While you will learn in the Karaf user's guide how to fully use and leverage Apache Karaf, let's install a sample <a href="http://camel.apache.org">Apache Camel</a> application for now:</p><p>In the console, run the following commands:</p><pre>
+features:addurl mvn:org.apache.camel/camel-example-osgi/2.10.0/xml/features
+features:install camel-example-osgi
+</pre><p>The example installed is using Camel to start a timer every 2 seconds and output a message on the console.<br/>The previous commands download the Camel features descriptor and install the example feature.</p><pre>
+>>>> SpringDSL set body:  Fri Jan 07 11:59:51 CET 2011
+>>>> SpringDSL set body:  Fri Jan 07 11:59:53 CET 2011
+>>>> SpringDSL set body:  Fri Jan 07 11:59:55 CET 2011
+
+</pre><h3 id="Stoppinganduninstallingthesampleapplication">Stopping and uninstalling the sample application</h3><p>To stop this demo, run the following command:</p><pre>
+features:uninstall camel-example-osgi
+</pre><h3 id="CommonProblems">Common Problems</h3><ol><li>Launching Karaf can result in a deadlock in Felix during module dependency resolution.<p>This is often a result of sending a SIGINT (control-C) to the process when it will not cleanly exit.<br/>This can corrupt the caches and cause startup problems in the very next launch. It is fixed by emptying the component cache:</p><pre>
+rm -rf data/cache/*
+</pre></li></ol><h2 id="StoppingKaraf">Stopping Karaf</h2><p>To stop Karaf from the console, enter <tt>^D</tt> in the console:</p><pre>
+^D
+</pre><p>Alternatively, you can also run the following command:</p><pre>
+system:shutdown
+</pre><h2 id="Summary">Summary</h2><p>This document showed how simple it is to have Apache Karaf up and running. The overall time for getting the server running should be less than five<br/>minutes if you have the prerequisite (Java 1.5) already installed. Additionally, this article also showed you how to deploy and test a simple<br/>Apache Camel application.</p>
+                </div>
+              </td>
+            </tr>
+          </table>
+        </td>
+        <td id="cell-2-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-3-0">
+          &nbsp;
+        </td>
+        <td id="cell-3-1">
+          &nbsp;
+        </td>
+        <td id="cell-3-2">
+          <div id="footer">
+            <div id="site-footer">
+              &copy; 2008-2011 The Apache Software Foundation
+              <br/>
+              Apache Karaf, Karaf, Apache, the Apache feather logo, and the Apache Karaf project logo are trademarks of The Apache Software Foundation.
+            </div>
+          </div>
+        </td>
+        <td id="cell-3-3">
+          &nbsp;
+        </td>
+        <td id="cell-3-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-4-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-4-1">
+          &nbsp;
+        </td>
+        <td id="cell-4-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>
\ No newline at end of file