2010-09-12 26 views
7

Sto appena iniziando con OSGi ed Eclipse RCP. Qualcuno potrebbe spiegarmi la differenza tra "Eclipse" ed "Equinox" come piattaforma di destinazione, quando si crea un nuovo progetto di plugin per Eclipse?
So ancora che Equinox è l'implementazione di OSGi di Eclipse.
Ho letto in alcuni articoli che eclipse rcp si basa anche su Equinox. Allora, dov'è la differenza tra la piattaforma di destinazione che devi scegliere in un nuovo progetto Eclipse Plugin?
Eclipse RCP: piattaforma target - Eclipse vs Equinox?

migliori saluti

risposta

4

Si tratta della environement in cui il modulo si sarà la creazione verrà eseguito: vedere questo

Eclipse Equinox è l'ambiente di runtime su cui sono basate le applicazioni Eclipse IDE ed Eclipse RCP.
In Eclipse la più piccola unità di modularizzazione è un plug-in. I termini plugin e bundle sono (quasi) intercambiabili. Un plugin Eclipse è anche un bundle OSGi e viceversa.

alt text

  • fascio per OSGi, in grado di eseguire nel quadro Equinox (all'interno o all'esterno di Eclipse)
  • plug-in per Eclipse, per eseguire all'interno di un'applicazione basata su Eclipse.

Vedi Equinox Quick Start Guide:

L'implementazione framework Equinox OSGi forma le basi delle piattaforme RCP e IDE Eclipse, ma in realtà è un'implementazione OSGi completamente autonomo.

È possibile eseguire un pacchetto in modo indipendente da Eclipse:

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

Una volta che questo è in esecuzione si vedrà un prompt osgi>. Questa è la console OSGi in attesa di digitare comandi

+0

entrambi i tipi di bundle sono compatibili? –

+0

@ coding.mof: Ho appena completato la mia risposta ad essere per rispondere a questa domanda, ma un plugin Eclipse non è necessario eseguire in un ambiente OSGi autonomo perché alcuni servizi specifici di Eclipse (da cui dipenderà) saranno mancante. – VonC

7

scegliendo "un quadro OSGi": Questo crea semplicemente un nuovo bundle con nessun plug-in necessari o pacchetti importati (a meno che non si sceglie un attivatore nel qual caso la Il pacchetto org.osgi.framework si presenta sotto i pacchetti importati).

scelta versione di Eclipse: Dopo aver cliccato successiva della procedura guidata vi dà la casella di controllo "Questo plugin farà contributi per l'interfaccia utente" e permette di creare una ricca applicazione client

Fatte tutte le altre opzioni un plugin Eclipse avrà org.eclipse.core.runtime come plugin richiesto. Se dici che il plug-in apporta contributi all'interfaccia utente, org.eclipse.ui viene aggiunto ai plug-in richiesti.Dicendo che vuoi creare un'applicazione rich client i Templates sono diversi sullo schermo finale e sei costretto a sceglierne uno da finire. Anche il tuo Activator estenderà il plugin se non hai scelto l'opzione UI e AbstractUIPlugin se hai scelto l'opzione UI.

Non c'è niente di diverso sui bundle che vengono creati in entrambi i modi, la procedura guidata imposta semplicemente alcuni plug-in/pacchetti importati richiesti automaticamente. Ovviamente, come ha sottolineato VonC, alcune delle dipendenze impostate dalla rotta Eclipse potrebbero non essere compatibili con altre implementazioni OSGi.