In Komponenten werden Plug-ins gruppiert und beschrieben, aus denen sich ein Produkt zusammensetzt. Durch die Zusammenfassung von Plug-ins in Komponenten kann die Koexistenz mit anderen Eclipse-basierten Produkten bei Installation und Update des Produkts sichergestellt werden. Die Plattform selbst besteht aus drei Hauptkomponenten:
Es gibt weitere Nebenkomponenten wie beispielsweise Beispiele und betriebssystemabhängige Bestandteile der Plattform.
Hinweis: Das Plattformframework für Installation und Update ermöglicht es Ihnen, eigene angepasste Implementierungen der hier erläuterten Konzepte zu erstellen. Sie können also eigene Typen von Komponenten definieren (inkl. Paketformate, Installationsprozeduren usw.),sowie eigene Typen von Serversites für den Komponentenupdate. Die vorliegende Erläuterung beschäftigt sich vor allem mit den Standardimplementierungen der Plattform für Komponenten und Update-Sites.
Komponenten enthalten keinen Code. Sie beschreiben lediglich eine Gruppe von Plug-ins, die die Funktionen für die Komponente und Informationen zu ihrem Update zur Verfügung stellen. Komponenten werden in einer Komponentenarchivdatei als Paket erstellt und mit einer Komponentenmanifestdatei namens feature.xml beschrieben. Die folgende Manifestdatei gehört zur Plattformkomponente:
<?xml version="1.0" encoding="UTF-8" ?> <feature id="org.eclipse.platform" label="%featureName" version="2.0.0" image="eclipse_update_120.jpg" provider-name="%providerName" primary="true" application="org.eclipse.ui.workbench"> <description>%description</description> <license url="%licenseURL">%license</license> <url> <update url="http://update.eclipse.org/updates" label="%updateSiteName" /> </url> <plugin id="org.apache.ant" version="1.4.1" /> <plugin id="org.apache.lucene" version="1.2.0" /> <plugin id="org.apache.xerces" version="4.0.3" /> <plugin id="org.eclipse.ant.core" version="2.0.0" /> <plugin id="org.eclipse.compare" version="2.0.0" /> <plugin id="org.eclipse.core.boot" version="2.0.0" /> <plugin id="org.eclipse.core.resources" version="2.0.0" /> <plugin id="org.eclipse.core.runtime" version="2.0.0" /> <plugin id="org.eclipse.debug.core" version="2.0.0" /> <plugin id="org.eclipse.debug.ui" version="2.0.0" /> <plugin id="org.eclipse.help" version="2.0.0" /> <plugin id="org.eclipse.help.webapp" version="2.0.0" /> <plugin id="org.eclipse.help.ui" version="2.0.0" /> <plugin id="org.eclipse.platform" version="2.0.0" /> <plugin id="org.eclipse.platform.doc.user" version="2.0.0" /> <plugin id="org.eclipse.search" version="2.0.0" /> <plugin id="org.eclipse.swt" version="2.0.0" /> <plugin id="org.eclipse.team.core" version="2.0.0" /> <plugin id="org.eclipse.team.cvs.core" version="2.0.0" /> <plugin id="org.eclipse.team.cvs.ssh" version="2.0.0" /> <plugin id="org.eclipse.team.cvs.ui" version="2.0.0" /> <plugin id="org.eclipse.team.ui" version="2.0.0" /> <plugin id="org.eclipse.tomcat" version="4.0.3" /> <plugin id="org.eclipse.ui" version="2.0.0" /> <plugin id="org.eclipse.ui.externaltools" version="2.0.0" /> <plugin id="org.eclipse.update.core" version="2.0.0" /> <plugin id="org.eclipse.update.ui" version="2.0.0" /> <plugin id="org.eclipse.update.ui.forms" version="2.0.0" /> </feature>