Question
Comment convertir un fichier jar existant en faisceau OSGi ?
Réponse, résolution
Voici un moyen très simple de convertir un fichier jar existant dans un faisceau OSGi tout en gardant le contrôle des packages exportés.
L'exemple crée un faisceau OSGi à partir du junit-4.4.jar joint.
Remarque : la méthode ci-dessous fonctionne uniquement dans le scénario où le fichier jar n'a aucun lien de dépendance avec d'autres fichiers jar externes.
- Commencez par créer le fichier manifest du jar :
Manifest-version : 1.0 Created-by : moi Bundle-ManifestVersion : 2 Bundle-Name : JUnit 4.4 Bundle-Description : Package Junit 4.4 dans un faisceau OSGi Bundle-version : 4.4.0 Bundle-ClassPath : ., junit-4.4.jar Bundle-SymbolicName : org.junit.framework Export-Package : junit.framework, junit.extensions, org.junit.runner, org.junit junit.textui
L'en-tête ClassPath
est défini pour permettre d'intégrer le jar d'origine tel quel. Assurez-vous que sa valeur correspond au nom du fichier jar que vous allez incorporer dans le lot.Export-Package
est une liste des packages contenus dans le jar que vous souhaitez rendre accessible à d'autres lots s'exécutant dans le conteneur OSGi.
- Jar file
Obtenez le fichier jar, en ce qui nous concerne à partir du lien http://mirrors.ibiblio.org/pub/mirrors/maven2/junit/junit/4.4/junit-4.4.jar - Créez le fichier lot jar en exécutant la commande suivante :
jar cvfm junit-4.4-bundle.jar manifest.txt junit-4.4.jar
Oùmanifest.txt
est le nom du fichier manifest créé précédemment.
Et voilà, le fichier jar résultant (joint à cette page comme exemple) est un lot OSGi qui exporte les packages répertoriés dansExport-Package
ci-dessus, à l'aide des classes de junit-4.4.jar intégrées.
S'applique à
Tous les conteneurs OSGi
Telechargement