Eclipse-Feature ist die Vorstellung, die Plug-In verwalten höheren abstrakt zu liefern.
Zum Beispiel gibt es mehr als zwanzig Plug-Ins für C/C++ - Entwicklungstools, daher verfügt CDT über mehrere Funktionen zum Organisieren dieser Plug-Ins in abstrakterer Ebene, für Kernfunktionen, ui, Build und so weiter.
Es hilft auch den Installationsprozess zu vereinfachen, Benutzer müssen nur die Top-Funktion (mit freundlicher Name) von CDT kennen. P2 API oder klassische Installation verwalten finden Sie die Plug-Ins und Unterfunktionen einschließlich der Top-Funktion, dann installieren Sie sie.
Die Funktion konnte jedoch nicht helfen, ein hohes Modulsystem zu erstellen, da sie selbst keine Funktionalität bietet. Es ist kein Teil der OSGi-Spezifikation, es wurde von Eclipse 2.x oder einer älteren Version übernommen.
Das Bundle ist das Wesentliche von OSGi. Gemäß der Spezifikation könnte jedes Bündel andere Klassen außer der Deklaration der Leitung mit dem Paket von Klassen verwenden. Require-Bundle und Import-Package sind die Möglichkeiten, die Drähte zu erstellen.
In einem kurzen Wort, Feature und Plug-in sind völlig unterschiedliche Begriffe. Feature einschließlich Plug-Ins macht verschiedene Dinge im Vergleich zu Import-Paket Paket.
Update:
Das erfordert Tag von feature.xml das Erbe ist. Die Absicht besteht darin, dass die Definition der Abhängigkeiten dieser Funktion mit anderen Plug-Ins/Funktionen Update-Manager, um die kaputten Abhängigkeiten zu finden bei der Installation oder diese Funktion zu aktualisieren. Es definiert die Abhängigkeiten dieses Features mit anderen Plug-Ins, es wird jedoch vom Update-Manager zum Installieren oder Aktualisieren verwendet. Import-Package des Bündels erklärt die tatsächliche und echte Abhängigkeit zwischen dem Bündel und einem anderen Modul in dem OSGi-System.
Da Eclipse p2 als Bereitstellungsmanager verwendet, muss das Tag "requires" in der Datei feature.xml nicht deklariert werden. P2 würde die Abhängigkeiten zwischen Bündel und anderen Modulen erkennen, die von ‚Import-Package‘ deklariert sind oder ‚require-Bundle‘. P2 wird Ihr Feature nicht installieren oder aktualisieren, wenn eine Abhängigkeit nicht erfüllt ist.
@Robert, nicht sicher, was genau "feature.xml benötigt". Abhängigkeiten in den Features wirken sich jedoch niemals auf Ihre Anwendung aus, sie sind nicht zwingend erforderlich. Es bietet nur eine einfache Möglichkeit, diese Bundles zu organisieren, wie getaggte Box (Feature und Name) und Eier (Bundles). :) – Kane
siehe mein Update. –
@Robert, sehe mein Update. – Kane