Was sind die Unterschiede zwischen Plug-Ins, Funktionen und Produkten in Eclipse RCP?

76

Was sind die Unterschiede? Was wird für welchen Zweck verwendet?

Jens Schauder
quelle

Antworten:

117

Wie das RCP-Tutorial Details

Plugins sind die kleinsten bereitstellbaren und installierbaren Softwarekomponenten von Eclipse.

Jedes Plugin kann Erweiterungspunkte definieren, die Möglichkeiten für Funktionsbeiträge (Code und Nicht-Code) durch andere Plugins definieren. Beiträge ohne Codefunktionalität können beispielsweise Hilfeinhalte bereitstellen.

Die Basis für diese Architektur ist die Laufzeitumgebung Equinox of Eclipse, die die Referenzimplementierung von OSGI darstellt. Weitere Informationen finden Sie unter OSGi-Entwicklung - Lernprogramm .
Das Plugin-Konzept von Eclipse ist dasselbe wie das Bundle-Konzept von OSGI. Im Allgemeinen entspricht ein OSGI-Bundle einem Plugin und umgekehrt.

erste rcp


Das Feature-Tutorial erwähnt

Ein Feature-Projekt ist im Grunde eine Liste von Plugins und anderen Features, die als logische separate Einheit verstanden werden können .

Eclipse verwendet Feature-Projekte für den Update-Manager und für den Erstellungsprozess. Sie können auch eine Softwarelizenz mit einer Funktion bereitstellen

neue Funktion


Schließlich ist ein Produkt ein eigenständiges Programm, das mit der Eclipse-Plattform erstellt wurde. Ein Produkt kann optional als eine oder mehrere Funktionen verpackt und geliefert werden. Hierbei handelt es sich lediglich um Gruppierungen von Plug-Ins, die von den Eclipse-Aktualisierungsmechanismen als eine Einheit verwaltet werden.

Die Produktdefinitionsdatei zeigt die Registerkarte Übersicht


Damit:

Plugins können in Funktionen gruppiert werden, die als eine ausführbare Einheit namens Produkt verpackt werden können .

VonC
quelle
4
Dies ist eine ziemlich alte Antwort, aber trotzdem: Ich verstehe, was Sie sagen, aber was ist der Unterschied zwischen der DependenciesRegisterkarte des FeatureProjekts und der DependenciesRegisterkarte des Plugin.xmlund der DependenciesRegisterkarte des Product? Wäre es möglich zu erklären?
Cratylus
2
@ user384706 Grundsätzlich können Sie auf der DependenciesRegisterkarte von die ProductFunktionen (Gruppe von Plugins) sowie die für Ihr Produkt erforderlichen Plugins auflisten ( help.eclipse.org/indigo/… : "Auf der Seite" Abhängigkeiten "werden alle erforderlichen Funktionen und Plug-Ins aufgelistet muss im Produkt vorhanden sein, bevor der Update Manager diese Funktion installiert. Wenn eine dieser Voraussetzungen fehlt, wird die Funktion nicht installiert. "Auf der DependenciesRegisterkarte" Plugin.xmlNur "werden andere benötigte Plugins
aufgelistet
2
Danke Und warum gibt es eine Abhängigkeit Definition Registerkarte! MANIFEST.MF Und in plugin.xml und in build.properties.xmlder gleichen Plugin ich nicht meinen Kopf um diesen wickeln kann und machen zufällige Änderungen an das Projekt?
Cratylus
1
@ user384706 Das MANIFEST.MFTestament enthielt zur Laufzeit die "aufgelöste" Liste der benötigten Plugins (siehe help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.pde.doc.user%2Fguide%2Ftools%2Feditors%2Fmanifest_editor%) 2Fdependencies.htm): "Sie können jederzeit auf den Hyperlink" Abhängigkeiten hinzufügen "klicken, PDEum Ihren Code zu analysieren und die richtigen Abhängigkeiten in Ihrer MANIFEST.MFDatei über die Überschriften Require-Bundleoder zu generieren Import-Package." Sie sollten diesen Teil also nicht direkt ändern. Die plugin.xmlkönnen nur die direkten Abhängigkeiten enthalten (im Gegensatz zu allen Dep. In MANIFEST.ML)
VonC
@ user384706 Dies unterscheidet sich von den Abhängigkeiten in der build.properties, die nur die zum Zeitpunkt der Kompilierung erforderlichen Plugins zum Erstellen des Plugins betreffen .
VonC