come era scritto nelle risposte precedenti ci sono due opzioni, se si desidera utilizzare le librerie aggiuntive nei bundle:
- embedding vasetti di libreria in un fascio in cui verrà utilizzato,
- la creazione di un bundle OSGi valido dalla libreria.
Il primo approccio è più semplice, perché hai solo bisogno di copiare vasi libreria (e tutte le sue dipendenze) per un pacchetto (ad esempio, in una directory root) e quindi aggiungerli alla Bundle-Classpath
elemento MANIFEST.MF
(vedi here) . Tuttavia, mentre si esegue questa operazione è necessario ricordare che questa libreria aggiunta sarà visibile solo in un pacchetto in cui è incorporata (quindi il riutilizzo della libreria è limitato). È sempre possibile aggiungere pacchetti da questa libreria all'elemento Export-package
in MANIFEST.MF
per renderlo visibile per altri pacchetti, ma questa soluzione è tutt'altro che elegante (tuttavia funzionerà).
Al fine di renderlo visibile agli altri bundle si dovrebbe usare il secondo approccio, vale a dire creare un pacchetto OSGi dalla libreria (ci sono strumenti che possono aiutare a farlo, anche in Eclipse). Tuttavia, per le librerie più complesse questo approccio potrebbe essere più difficile (a causa delle dipendenze e dell'approccio di caricamento della classe specifico in OSGi).
Quindi, se si desidera utilizzare la libreria solo in un pacchetto, suggerisco di utilizzare il primo approccio (è più semplice da implementare). Se si desidera utilizzare questa libreria in molti pacchetti nella propria applicazione, è necessario considerare il secondo approccio.