Option 1-BND-Plattform verwenden, um Ihre OSGi-Bundles zu erstellen, wenn häufige Ergänzungen/Aktualisierungen der Tonkrüge erwarten, oder wenn Sie Ihre Abhängigkeiten von Maven-Repositories abrufen können
Wir verwenden bnd-platform (Ich bin auch der Autor), um Abhängigkeiten von Drittanbietern zu verwalten und daraus OSGi-Bundles zu erstellen. Sie können es mit beiden Abhängigkeiten verwenden, die von Maven-Repositories und lokalen Jars abgerufen werden (siehe README). Wenn Sie regelmäßig Ihre Abhängigkeiten hinzufügen oder aktualisieren, würde ich vorschlagen, dass Sie versuchen bnd-Plattform. Es ist ein Plugin für Gradle, Sie können einfach mit this template starten - fügen Sie einfach Ihre Jar-Dateien hinzu und stellen Sie die Konfiguration bereit, wie in der Projekt-README (Bündel symbolische Namen, Versionen) beschrieben, und führen Sie gradlew bundles
aus.
Option 2 - verwenden bnd Ihr OSGi-Bundles zu bauen, wenn Sie es einmal tun oder Ergänzungen/Aktualisierungen sind selten
Wenn Sie nur einmal diesen Prozess tun oder nur selten, eine einfache Möglichkeit, um eine OSGi zu erstellen Bündel aus einem bestehenden Jar soll direkt bnd on the command line verwenden. Das einzige, was Sie brauchen, ist Java und das bnd jar. Sie können wrap
verwenden, um zu versuchen, ein JAR-Objekt automatisch zu umbrechen oder eine .bnd
-Datei mit instructions for bnd zu erstellen (z. B. um nur bestimmte Pakete zu exportieren).
Beispiel .bnd Datei:
-classpath: lib/trove-2.0.4.jar
-output: gnu.trove-2.0.4.jar
Export-Package: *;-split-package:=merge-last;-noimport:=true
Import-Package: *
Bundle-Version: 2.0.4
Bundle-Name: GNU Trove Collections Plug-in
Bundle-SymbolicName: gnu.trove
Beispielaufruf:
java -jar <path to bnd>.jar trove-2.0.4.bnd
BND Jar-Download ist nicht mehr direkt über die Website angeboten werden, ist eine gute Alternative zu download it from Maven Central.
Gibt es eine Methode, die Eclipse nicht einbezieht? – CodeTower
http://wiki.osgi.org/wiki/Migration –
Diese [blog] (http://skysailserver.blogspot.de/2013/10/converting-ordinary-jar-into-osgi.html) ist über das Erstellen der Bündel _without_ mit Eclipse. – evandor