/ / Eclipse RCP: Zielplattform - Eclipse vs. Equinox? - java, eclipse-plugin, osgi, eclipse-rcp, equinox

Eclipse RCP: Zielplattform - Eclipse vs Equinox? - Java, Eclipse-Plugin, OSGI, Eclipse-RCP, Tagundnachtgleiche

Ich fange gerade mit OSGi und Eclipse RCP an. Kann mir jemand den Unterschied zwischen "Eclipse" und "Equinox" als Zielplattform erklären, wenn Sie ein neues Eclipse-Plugin-Projekt erstellen?
Ich weiß immer noch, dass Equinox die Implementierung von OSGi von Eclipse ist.
Ich habe in einigen Artikeln gelesen, dass Eclipse rcp auch auf Equinox basiert. Wo liegt also der Unterschied zwischen der Zielplattform, die Sie in einem neuen Eclipse Plugin-Projekt auswählen müssen?

Freundliche Grüße

Antworten:

4 für die Antwort № 1

Es handelt sich um die Umgebung, in der das zu erstellende Modul ausgeführt wird: siehe dies

Eclipse Equinox ist die Laufzeitumgebung, auf der die Eclipse IDE- und Eclipse RCP-Anwendung basiert.
In Eclipse ist die kleinste Einheit der Modularisierung ein Plugin. Die Begriffe Plugin und Bundle sind (fast) austauschbar. Ein Eclipse-Plugin ist auch ein OSGi-Bundle und umgekehrt.

Alt-Text

  • Paket für OSGi, das im Equinox-Framework (innerhalb oder außerhalb von Eclipse) ausgeführt werden kann
  • Plugin für Eclipse, zur Ausführung in einer Eclipse-basierten Anwendung.

Sehen Equinox-Kurzanleitung:

Die Equinox OSGi-Framework-Implementierung bildet die Grundlage der Eclipse-RCP- und IDE-Plattformen, ist jedoch eine vollständig eigenständige OSGi-Implementierung.

Sie können ein Bundle unabhängig von Eclipse ausführen:

java -jar org.eclipse.osgi_3.2.0.jar -console

Sobald dies läuft, sehen Sie eine osgi> Prompt. Dies ist die OSGi-Konsole, die darauf wartet, dass Sie Befehle eingeben


7 für die Antwort № 2

Auswahl eines "OSGi-Frameworks": Dadurch wird einfach ein neues Paket ohne erforderliche Plug-Ins oder importierte Pakete erstellt (es sei denn, Sie wählen einen Aktivator. In diesem Fall wird das Paket org.osgi.framework unter importierte Pakete angezeigt).

Wahl der Eclipse-Version: Nachdem Sie auf Weiter geklickt haben, zeigt der Assistent das Kontrollkästchen "Dieses Plug-in leistet Beiträge zur Benutzeroberfläche" und ermöglicht Ihnen das Erstellen einer Rich-Client-Anwendung

Ohne weitere Optionen wird ein Eclipse-Plugin verwendethaben org.eclipse.core.runtime als erforderliches Plugin. Wenn Sie sagen, dass das Plug-In Beiträge zur Benutzeroberfläche leistet, wird den erforderlichen Plug-Ins org.eclipse.ui hinzugefügt. Wenn Sie sagen, dass Sie eine Rich-Client-Anwendung erstellen möchten, unterscheiden sich die Vorlagen auf dem letzten Bildschirm, und Sie müssen eine für den Abschluss auswählen. Ihr Activator wird auch Plugin erweitern, wenn Sie die UI-Option nicht gewählt haben, und AbstractUIPlugin, wenn Sie die UI-Option gewählt haben.

An den Bundles ist das nicht andersWenn der Assistent auf eine der beiden Arten erstellt wird, richtet er nur einige standardmäßig erforderliche Plug-Ins / importierte Pakete für Sie ein. Wie VonC darauf hinweist, sind einige der von der Eclipse-Route eingerichteten Abhängigkeiten natürlich nicht mit anderen OSGi-Implementierungen kompatibel.