3.2. Ajouter une dépendance de module explicite à un déploiement
Cette tâche montre comment ajouter une dépendance explicite à une application. On peut ajouter des dépendances explicites de module aux applications pour ajouter les classes de ces modules au chemin de classe de l'application lors du déploiement.
Certaines dépendances sont automatiquement ajoutées aux déploiements par JBoss EAP 6. Voir Section 3.8.1, « Dépendances de modules implicites » pour plus d'informations.
Conditions préalables
- Vous devez déjà avoir un projet de logiciel qui fonctionne, et auquel vous souhaitez ajouter une dépendance de module.
- Vous devez connaître le nom du module qui est ajouté comme dépendance. Voir Section 3.8.2, « Les modules inclus » pour obtenir la liste des modules statiques inclus dans JBoss EAP 6. Si le module correspond à un autre déploiement, voir Section 3.1.7, « Nommage de modules dynamiques » pour déterminer le nom du module.
Les dépendances peuvent être configurées par deux méthodes différentes :
- Par l'ajout d'entrées dans le fichier
MANIFEST.MF
du déploiement. - Par l'ajout d'entrées dans le descripteur de déploiement
jboss-deployment-structure.xml
.
Procédure 3.1. Par l'ajout d'une configuration de dépendance à MANIFEST.MF
Les projets Maven peuvent être configurés pour créer les entrées de dépendance requises par le fichier
MANIFEST.MF
. Voir Section 3.3, « Générer des entrées MANIFEST.MF en utilisant Maven ».
Ajouter le fichier
MANIFEST.MF
Si le projet ne possède pas de fichierMANIFEST.MF
, créer un fichier nomméMANIFEST.MF
. Pour une application web (WAR), ajouter ce fichier au répertoireMETA-INF
. Pour une archive EJB (JAR), l'ajouter au répertoireMETA-INF
.Ajouter une entrée de dépendance
Ajouter une entrée de dépendance au fichierMANIFEST.MF
avec une liste de noms de modules de dépendance séparés par des virgules.Dépendances : org.javassist, org.apache.velocity
Option : rendre une dépendance optionnelle
On peut rendre une dépendance optionnelle an ajoutantoptional
au nom du module de l'entrée de dépendance.Dépendances : org.javassist optional, org.apache.velocity
Option : export d'une dépendance
On peut exporter une dépendance en ajoutantexport
au nom du module de l'entrée de dépendance.Dépendences : org.javassist, org.apache.velocity export
Procédure 3.2. Ajouter une configuration de dépendance à jboss-deployment-structure.xml
Ajouter
jboss-deployment-structure.xml
Si l'application n'a pas de fichierjboss-deployment-structure.xml
, créer un nouveau fichier nomméjboss-deployment-structure.xml
et l'ajouter au projet. Ce fichier est un fichier XML ayant l'élément racine de<jboss-deployment-structure>
.<jboss-deployment-structure> </jboss-deployment-structure>
Pour une application web (WAR), ajouter ce fichier au répertoireWEB-INF
. Pour une archive EJB (JAR), l'ajouter au répertoireMETA-INF
.Ajouter une section de dépendances
Créer un élément<deployment>
à l'intérieur de la racine du document et un élément<dependencies>
également.Ajouter les éléments du module
Dans le nœud de dépendances, ajouter un élément de module pour chaque dépendance du module. Définir l'attributname
au nom du module.<module name="org.javassist" />
Option : rendre une dépendance optionnelle
On peut rendre une dépendance optionnelle en ajoutant l'attributoptional
à l'entrée du module, avec la valeurTRUE
. La valeur par défaut de cet attribut estFALSE
.<module name="org.javassist" optional="TRUE" />
Option : export d'une dépendance
On peut exporter une dépendance en ajoutant l'attributoptional
à l'entrée du module, avec la valeurTRUE
. La valeur par défaut de cet attribut estFALSE
.<module name="org.javassist" export="TRUE" />
Exemple 3.3. jboss-deployment-structure.xml avec deux dépendances
<jboss-deployment-structure> <deployment> <dependencies> <module name="org.javassist" /> <module name="org.apache.velocity" export="TRUE" /> </dependencies> </deployment> </jboss-deployment-structure>
JBoss EAP 6 ajoutera les classes à partir des modules spécifiés dans le chemin de classes de l'application quand elle sera déployée.