3.4. Empêcher qu'un module soit chargé implicitement

Cette tâche décrit comment configurer votre application pour en exclure une liste de dépendances de module.
Vous pouvez configurer une application déployable pour empêcher le chargement des dépendances implicites. Cela est commun quand il s'agit d'une version différente de bibliothèque ou d'un framework autre que celui qui sera fourni par le serveur d'applications comme dépendance implicite.

Conditions préalables

  1. Vous devez déjà avoir un projet informatique qui fonctionne et dont vous souhaitez exclure une dépendance.
  2. Vous devez connaître le nom du module à exclure. Voir Section 3.8.1, « Dépendances de modules implicites » pour obtenir une liste des dépendances implicites et de leurs conditions.

Procédure 3.4. Ajouter une configuration d'exclusion de dépendances de jboss-deployment-structure.xml

  1. Si l'application n'a pas de fichier jboss-deployment-structure.xml, créer un nouveau fichier intitulé jboss-deployment-structure.xml et ajoutez-le au projet. Ce fichier est un fichier XML ayant comme élément root <jboss-deployment-structure>.
    <jboss-deployment-structure>
    
    </jboss-deployment-structure>
    Pour une application web (WAR), ajouter ce fichier au répertoire WEB-INF. Pour une archive EJB (JAR), l'ajouter au répertoire META-INF.
  2. Créer un élément <deployment> dans la racine de l'élément et un <exclusions> à l'intérieur.
    <deployment>
       <exclusions>
       
       </exclusions>
    </deployment>
  3. Dans l'élément d'exclusion, ajouter un élément <module> pour chaque module à exclure. Définir l'attribut name au nom du module.
    <module name="org.javassist" />

Exemple 3.5. Exclusion de deux modules

<jboss-deployment-structure>
   <deployment>
      <exclusions>
         <module name="org.javassist" />
         <module name="org.dom4j" />
      </exclusions>
   </deployment>
</jboss-deployment-structure>