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.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne