2013-05-17 30 views
6

Ho un'applicazione rcp di eclipse che utilizza il progetto Gemini. Ha due caratteristiche e quindi un prodotto basato su funzionalità. Alcuni dei nostri pacchetti dipendono dal servizio che è stato creato dall'extender blueprint. Ma in realtà il blueprint extender viene risolto solo all'avvio e non attivato. Oggi aggiriamo questo problema eseguendo il codice in attivatori di bundle, che controlla se il bundle org.eclipse.gemini.blueprint.extender è stato avviato e se non viene avviato.Come avviare automaticamente org.eclipse.gemini.blueprint.extender in un'applicazione rcp eclipse basata su funzionalità?

L'aggiunta del pacchetto al prodotto con livello di avvio 3 e autoStart=true non ha alcun effetto. Penso che questo sia dovuto al fatto che il nostro prodotto è basato sulle funzionalità. È corretto? Qual è il modo migliore per avviare automaticamente l'extender?

risposta

2

È necessario modificare il file configuration/config.ini e aggiungere il bundle che si desidera avviare alla proprietà osgi.bundles. Ad esempio:

osgi.bundles=<existing entries>, [email protected]:start

+0

In linea di principio questo funziona (si avvia il fascio extender). Ma porta ad un comportamento strano quando si attivano altri pacchetti. L'attivazione non può essere completata perché si verificano alcune eccezioni di ClassDefNotFound. Penso di dover scavare in questo più profondo. – gregor

0

Hai provato a impostare il livello iniziale su 0 e l'avvio automatico su vero? C'è un suggerimento nel link this. Può essere che possa aiutarti.