was ist das OSGi-bundle-package-Struktur?
Ich bin neu in OSGi-standard. Ich möchte mehr wissen über die Struktur eines bundle-Paket-Datei.
- finden, es ist das OSGi-INF-Ordner, der Spezifikation erwähnt, l10n und die Berechtigung, Frage ich mich, wo definiert die Verwendung von OSGI-INF Ordner? Kann ich andere Sachen mit hinein?
- Speicherort der jar-Dateien verwiesen wird, die von dem bundle?
- neben OSGi-INF und OSGi-OPT gibt es keine Ordner definiert, die vom OSGi-standard?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie vielleicht einen Blick auf die OSGi-Core-Spezifikation. Sie können es herunterladen von der OSGi-Allianzen website (Es ist eigentlich ganz lesbar). Zum Beispiel, für die version 4.2 von der Spezifikation, Kapitel 3.2 diskus-bundles und deren Struktur im detail. Wie bereits erwähnt in einer anderen Antwort, bundles sind eigentlich einfache jar-Dateien mit einem Manifest enthält eine Reihe von speziellen manifest Header.
Einige dieser Header können Sie auch den Speicherort angeben, von manchen Dateien, z.B. in Abschnitt 3.2.1.11 die Bundle-Localization header definiert ist:
Die einzige OSGi-bundle-element, das obligatorisch ist, wird die bundle-spezifische Einträge in der META-INF/MANIFEST.MF-Datei.
OSGi-INF und OSGi-OPT optional sind.
Haben Sie einen Blick auf diese, um einen überblick von dem, was macht ein OSGi-bundle:
http://swik.net/Spring/Interface21+Team+Blog/Entwicklung+OSGi+bundles/
und diese beschreibt, wie DS (Deklarative Services) verwenden der OSGi-INF-Ordner:
http://www.eclipsezone.com/eclipse/forums/t97690.html
OSGi-bundle nicht anders aus als eine einfache JAR-Datei, außer für ein paar obligatorische Einträge in der JAR-manifest, das
META-INF/MANIFEST.MF
- Datei (wie schon von James).Alle anderen Dateien und Verzeichnisse sind nur Konventionen und best practices, wie zum Beispiel Ordner
META-INF/spring
oderMETA-INF/maven
verwendet Frühling und Maven bzw.Einige von OSGi-services definieren ähnliche Konventionen bezüglich der Verwendung von
OSGI-INF
- Verzeichnis. Soweit ich weiß, gibt es keine einzige Stelle in der Spezifikation, bei der alle dieses übereinkommens aufgeführt sind. Sie können öffnen Sie die Spezifikationen und suchen Sie nach "OSGI-INF" finden Sie alle vorkommen 🙂 keine Sorge, es gibt nicht zu viele von Ihnen.