<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head>


  
    <title>Apache Felix - Apache Felix Gogo</title>
    <link rel="stylesheet" href="apache-felix-gogo-Dateien/site.css" type="text/css" media="all">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head><body>
    <div class="title"><div class="logo"><a href="http://felix.apache.org/site/index.html"><img alt="Apache Felix" src="apache-felix-gogo-Dateien/logo.png" border="0"></a></div><div class="header"><a href="http://www.apache.org/"><img alt="Apache" src="apache-felix-gogo-Dateien/apache.png" border="0"></a></div></div>
    <div class="menu">
<ul>
	<li><a href="http://felix.apache.org/site/news.html" title="news">news</a></li>
	<li><a href="http://felix.apache.org/site/license.html" title="license">license</a></li>
	<li><a href="http://felix.apache.org/site/downloads.cgi" class="external-link" rel="nofollow">downloads</a></li>
	<li><a href="http://felix.apache.org/site/documentation.html" title="documentation">documentation</a></li>
	<li><a href="http://felix.apache.org/site/mailinglists.html" title="mailinglists">mailing lists</a></li>
	<li><a href="http://felix.apache.org/site/contributing.html" title="Contributing">contributing</a></li>
	<li><a href="http://www.apache.org/" class="external-link" rel="nofollow">asf</a></li>
	<li><a href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">sponsorship</a></li>
	<li><a href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">sponsors</a>
<!-- ApacheCon Ad -->
<iframe src="apache-felix-gogo-Dateien/button.html" style="border-width: 0pt; float: left;" frameborder="0" height="135" scrolling="no" width="135"></iframe>
<p style="height: 100px;">
<!-- ApacheCon Ad -->
</p></li></ul>
    </div>
    <div class="main">
<h1><a name="ApacheFelixGogo-ApacheFelixGogo"></a>Apache Felix Gogo</h1>

<p>Apache Felix Gogo is a subproject of Apache Felix implementing the
OSGi RFC 147, which describes a standard shell for OSGi-based
environments. See <a href="http://felix.apache.org/site/rfc-147-overview.html" title="RFC 147 Overview">RFC 147 Overview</a> for more information.</p>

<h2><a name="ApacheFelixGogo-UsingGogowiththeFelixFramework"></a>Using Gogo with the Felix Framework</h2>

<p>The Gogo subproject consists of three bundles:</p>

<ol>
	<li><b>runtime</b> - implements the core command processing functionality.</li>
	<li><b>shell</b> - provides a simple textual user interface to interact with the command processor.</li>
	<li><b>command</b> - implements a set of basic commands.</li>
</ol>


<p>As of the Apache Felix Framework 3.0.0, Gogo is included as the
default shell in the framework distribution. To use it, you just start
the framework like normal:</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>$ cd felix-framework-3.0.0
$ java -jar bin/felix.jar
_______________
Welcome to Apache Felix Gogo

g! lb
START LEVEL 1
   ID|State      |Level|Name
    0|Active     |    0|System Bundle (3.0.0)
    1|Active     |    1|Apache Felix Bundle Repository (1.6.2)
    2|Active     |    1|Apache Felix Gogo Command (0.6.0)
    3|Active     |    1|Apache Felix Gogo Runtime (0.6.0)
    4|Active     |    1|Apache Felix Gogo Shell (0.6.0)
g! 
</pre>
</div></div>

<p>Gogo shell integration in the framework distribution is also discussed in the <a href="http://felix.apache.org/site/apache-felix-framework-usage-documentation.html" title="Apache Felix Framework Usage Documentation">framework usage document</a></p>
    </div>
  </body></html>