Dernière mise à jour le
2 mai 2021
Question
Comment peut-on charger une bibliothèque tierce qui n'est pas un regroupement OSGi
.
Réponse
Une option pour charger une bibliothèque tierce qui n'est pas un regroupement OSGi
consiste à créer un regroupement extension/fragment.
Cette opération peut être effectuée à partir de la ligne de commande comme suit. Supposons que nous avons un 3rdparty.jar contenant des paquet sous com.3rdparty.libs qui doivent être exportés.
- Ajoutez le fichier jar au classpath partagé de votre serveur d'applications, par exemple crx-quickstart/server/lib/container dans CQSE.
- Créez un fichier manifeste. Pour cet exemple, nous l’appellerons ext.mf. Le fichier présente les éléments suivants :
Bundle-ManifestVersion: 2 Bundle-SymbolicName: com.3rdparty.extension Bundle-Version: 1.0 Fragment-Host: system.bundle; extension:=framework Bundle-Name: H2 JDBC Driver Extension Bundle-Description: Bundle exporting com.3rdparty.libs Export-Package: com.3rdparty.libs
Notez que la ligne vierge à la fin d'un fichier manifeste jar est requise. En outre, tous les paquets que vous devez exporter doivent être explicitement ajoutés à l'exportation de paquets sous forme de liste séparée par des virgules
- Créez un fichier jar avec le manifeste ci-dessus à l’aide de la commande suivante.
jar -cfm com.3rdparty.extension-1.0.jar ext.mf
- Installez com.3rdparty.extension-1.0.jar à l'aide de la console de gestion Felix ou importez-le dans le dossier d'installation de l'application CQ. Cela devrait ajouter le package org.h2 à la liste d'exportation du Groupe Système.
- Reportez-vous à la section 3.15, Regroupement d'extensions, de la plate-forme du service principal
OSGi
pour plus d'informations sur les regroupements d'extensions.
Adobe
Recevez de l’aide plus rapidement et plus facilement
Nouvel utilisateur ?