2009-06-25 11 views
5

Ich habe schon eine Weile nach OSGi gesucht und frage mich, wie man am besten mit "Legacy" -Bibliotheken umgeht (die als reine JARs und nicht als OSGi-Bundles veröffentlicht werden).OSGi und Legacy-Bibliotheken

Was denken Sie, ist der beste Weg, damit umzugehen? Ich ändere ihre Manifest-Datei und füge die minimalen bündelspezifischen Informationen hinzu, um sie dann neu zu verpacken, aber das scheint mir irgendwie falsch zu sein. Sollte ich nur manuelle Abhängigkeitsverwaltung für diese JARs verwenden? (Ich mache das für solche Bibliotheken, die mit hoher Wahrscheinlichkeit nur in einem bestimmten Teil meiner Anwendung verwendet werden).

Soweit verfügbar, verwende ich Bundles für Eclipse (seit ich Equinox als OSGi-Plattform verwende, funktioniert das gut für die Bibliotheken, die als Bundles verfügbar sind).

Gibt es neben den Eclipse-Bundles noch weitere Bundle-Repositories, die ich kennen sollte?

+0

Ich sterbe, um in OSGi Sachen zu kommen. Ich muss es irgendwie in die Arbeit schleichen. – skaffman

Antwort

2

Es gibt auch Eclipse Orbit die eine Reihe von abgepackten Bundles für Eclipse Anwendungen hat. Und anstatt das Manifest des Pakets direkt zu ändern, können Sie ein Wrapper-Paket erstellen, das das Manifest selbst bereitstellt, und das Jar mit einem Bundle-ClassPath: foo.jar-Header aufnehmen. Es ist etwas weniger effizient, dies zu tun, da zur Laufzeit die foo.jar extrahiert wird (zumindest auf Equinox), aber es könnte einfacher für Sie sein, den Build-Prozess damit zu verwalten.

Das Spring Repo ist auch eine gute Quelle für Open-Source-Bibliotheken, die OSGiifiziert wurden.