Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

3.8. Déployer des TLD (Tag Library Descriptors) dans un module personnalisé

Résumé

Si vous avez plusieurs applications qui utilisent des TLD (Tag Library Descriptors), il peut être utile de séparer les TLD des applications pour qu'ils soient situés à un seul et unique emplacement. Cela permet des additions et mises à jour de TLD facilitées sans devoir nécessairement mettre à jour chaque application qui les utilise.

Cela est possible en créant un module JBoss EAP 6 personalisé contenant les JAR TLD et en déclarant une dépendance sur ce module dans les applications.
Conditions préalables

  • Au moins un JAR contenant des TLD. Assurez-vous que les TLD sont empaquetés dans META-INF.

Procédure 3.7. Déployer des TLD dans un module personnalisé

  1. À l'aide du Management CLI, connectez-vous à votre instance JBoss EAP 6 et exécutez la commande suivante pour créer le module personnalisé contenant le JAR TLD :
    module add --name=MyTagLibs --resources=/path/to/TLDarchive.jar
    Si les TLD sont empaquetés avec des classes qui nécessitent des dépendances, utilisez l'option --dependencies=DEPENDENCY pour assurer que vous spécifiez ces dépendances lors de la création d'un module personnalisé.
    Lors de la création du module, vous pouvez spécifier de multiples ressources JAR en les séparant par :. Par exemple, --resources=/path/to/one.jar:/path/to/two.jar
  2. Dans vos applications, déclarez une dépendance sur le nouveau module personnalisé MyTagLibs en utilisant l'une des méthodes décrites dans Section 3.2, « Ajouter une dépendance de module explicite à un déploiement ».

    Important

    Assurez-vous également d'importer META-INF lorsque vous déclarez la dépendance. Par exemple, pour MANIFEST.MF :
    Dependencies: com.MyTagLibs meta-inf
    Ou, pour jboss-deployment-structure.xml, utilisez l'attribut meta-inf.
Résultat

Dans vos applications, vous pouvez utiliser des TLD contenues dans le nouveau module personnalisé.