<html><head>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   <title>Eclipse Gemini Blueprint</title><link rel="stylesheet" href="css/html.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.72.0"><link rel="start" href="issues.html" title="Eclipse Gemini Blueprint"><link rel="next" href="preface.html" title="Preface"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="d0e1"></a>Eclipse Gemini Blueprint</h1></div><div><h2 class="subtitle">Known Issues</h2></div><div><div xmlns:fo="http://www.w3.org/1999/XSL/Format" class="authorgroup"><h2>Authors</h2><p></p><span class="author"><span class="firstname">Costin</span> <span class="surname">Leau</span> 
            (SpringSource, division of VMware)
            </span></div></div><div><p class="releaseinfo"></p></div><div><p class="copyright">Copyright &copy; 2006 -, 2011 VMware Inc., Oracle Inc.</p></div><div><div class="legalnotice"><a name="d0e16"></a><p>Documentation made available under the terms of the Eclipse Public License v1.0 
      and Apache License v2.0 which accompanies this distribution. 
      The Eclipse Public License is available at <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.eclipse.org/legal/epl-v10.html" target="_top">http://www.eclipse.org/legal/epl-v10.html</a> and 
      the Apache License v2.0 is available at <a xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.opensource.org/licenses/apache2.0.php" target="_top">http://www.opensource.org/licenses/apache2.0.php</a>.
      You may elect to redistribute this code under either of these licenses.</p></div></div></div><hr></div><div class="toc"><dl><dt><span class="preface"><a href="preface.html">Preface</a></span></dt><dt><span class="chapter"><a href="known-issues.html">1. Known Issues</a></span></dt><dd><dl><dt><span class="section"><a href="known-issues.html#OSGI-237">1.1. Publishing prototypes as OSGi services</a></span></dt></dl></dd></dl></div></div><div xmlns:fo="http://www.w3.org/1999/XSL/Format" class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left">&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="preface.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">&nbsp;</td><td width="20%" align="center"><span style="color:white;font-size:90%;"><a href="http://www.SpringSource.com/" title="SpringSource - Spring from the Source">Sponsored by SpringSource
                                        </a></span></td><td width="40%" align="right" valign="top">&nbsp;Preface</td></tr></table></div></body></html>