    <h3>Install via p2 repository</h3>
     <p>
     For a detailed step-by-step description of how to install OSGi Remote Services into Eclipse 
     see <a href="http://wiki.eclipse.org/Installing_OSGi_Remote_Services#Install_into_Eclipse">Installing Into Eclipse</a>.  For a 
     step-by-step description of how to add OSGi Remote Services into your <b>Target Platform</b> see 
     <a href="http://wiki.eclipse.org/Installing_OSGi_Remote_Services">Add to Target Platform</a>.
     <p>
      <ul>
       <li>In Eclipse, choose <b>Help -> Install New Software...</b></li>
       <li>Click on the <b>Add</b> button on the right. </li>
       <li>Type in a Name in the textbox. For example, type: <b>ECF 3.10.1</b>.</li>
       
       <li>Paste the following URL into the Location field. <br><br>
       <b>http://download.eclipse.org/rt/ecf/3.11.0/site.p2</b></li>
       <li> Click OK. </li>
       
       <li>Select the first <b>two</b> check boxes for install into Eclipse..i.e.
       <b>ECF Remote Services/Remote Service Admin SDK</b> and the <b>ECF SDK for Eclipse</b>.
       To explain:  The ECF repository has three top-level items for install:  </li>
       <ol>
       <li><b>ECF OSGi Remote Services SDK</b></li>
       <li><b>ECF SDK for Eclipse</b></li>
       <li><b>Uncategorized</b></li>
       </ol>
       <p>
       <li>Follow through the remaining dialogs to complete the installation.</li>
      </ul>
     <p>
     To uninstall ECF SDK
     <ul>
     <li>Choose <b>Help -> Install New Software...</b></li>
     <li>Click on <b>already installed</b> (lower part of install manager dialog)</li>
     <li>Click on <b>Installed Software tab</b></li>
     <li>Click on <b>ECF SDK</b></li>
     <li>Click on <b>Uninstall ...</b></li>
     </ul>
     </p>
     <h3>Install via Maven Repository</h3>
     <p>
        As of ECF 3.9.1+ ECF will generate a Maven repository and make it available as a version-specific sub-directory on the ECF builder
        <ul>
        <li><b>http://build.ecf-project.org/maven/&lt;version&gt;/</b></li>
        </ul>
        For example, here is the Maven repo for ECF 3.11.0
        <ul>
        <li><b><a href="http://build.ecf-project.org/maven/3.11.0/">http://build.ecf-project.org/maven/3.11.0/</a></b></li>
        </ul>
        For support with respect to use of the Maven repo, please join the <a href="https://dev.eclipse.org/mailman/listinfo/ecf-dev">ecf-dev mailing list</a>.
     </p>
     
     
     
         