AXOPEN

JBOSS 7 et gestion des modules

Lors de la création de projet, il est fréquent que le répertoire lib du répertoire WEB-INF s’alourdisse de dizaines de librairie qu’il est nécessaire de redéployer à chaque fois.

GESTION DES MODULES

Pour pallier ce problème, il est possible d’utiliser sous JBOSS 7 la structure des modules pour mettre ces librairies. Par exemple, nous avons un projet qui s’appelle project-manager. Pour externaliser les librairies, il suffit de créer un répertoire project-manager dans /modules/ puis un répertoire main dans le nouveau répertoire crée. 

Librairies et fichier module.xml

Suite à cette action il suffit de disposer toutes les librairies à l’intérieur de ce répertoire et de créer un fichier module.xml.


Les fichiers *.jar.index sont crées lors du démarrage du serveur et de l’utilisation du module par votre projet. Il ne faut pas copier ces fichiers lors de la création d’un nouveau serveur, mais laisser votre serveur les créer.

Une fois vos *.jar copiés, il faut créer le fichier module.xml comme ceci:

Déclarer toutes vos librairies avec les balises resource-root path.

Si vous avez des dépendances il suffit des les déclarer. N’oubliez pas de bien nommer votre module dans la balise module.

Configuration du MANIFEST.MF

Une fois ces actions réalisées, il suffit de redémarrer votre serveur. Pour l’utiliser dans votre projet, rajouter un fichier MANIFEST.MF dans META-INF avec le contenu suivant. Il est nécessaire de mettre en dépendencies le nom du module précédemment crée. Dorénavant, vous pouvez supprimer les libs du répertoire WEB-CONTENT/lib et ainsi alléger votre projet. (Il est tout de même nécessaire de mettre votre lib  dans un répertoire de votre projet afin de pouvoir compiler) Mais vous n’êtes plus obligé de les inclure dans votre WAR/EAR.

Manifest-Version: 1.0
Class-Path:
Dependencies: org.slf4j, project-manager