Bonjour à tous,
J'essaye de déployer mon application sous forme d'un EAR. Cette application utilise la bibliothèque Commons Configuration (entres autres).
Jusqu'à présent je m'était contenté de copier cette bibliothèque dans le répertoire server/default/lib. Le déploiement de l'EAR se passait sans soucis et l'application tournait à merveille.
Etant donné que je veux livrer un EAR totalement indépendant, je veux maintenant inclure la bibliothèque dans l'EAR et non pas que le serveur JBoss la fournisse.
Après lecture de la spécification J2EE 5 je suis le packaging suivant:
mon-appli.ear
|- mon-appli-web.war
|- mon-appli-ejb.jar
|- lib
|---|- commons-configuration-1.3.jar
|- META-INF
|---|- application.xml
|---|- MANIFEST.MF
Normalement la spec 1.5 stipule que le descirpteur application.xml est facultatif mais comme JBoss n'a pas l'air de prendre en compte cette acrobatie, je le met quand même et il a la tête suivante:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
<?xml version="1.0" encoding="UTF-8"?>
<application version="5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd">
<display-name>Mon Appli</display-name>
<module>
<web>
<web-uri>mon-appli-web.war</web-uri>
<context-root>/mon-appli</context-root>
</web>
</module>
<module>
<ejb>mon-appli-ejb.jar</ejb>
</module>
</application> |
Quand je déploie l'application ainsi packagée j'ai une ClassNotFoundException sur org.apache.commons.configuration.ConversionException.
Typiquemment, il a pas chargé commons-configuration-1.3.jar.
J'ai essayé en ajoutant
<library-directory>lib</library-directory>
à la racine de mon application.xml et ça me donne la même erreur.
J'ai également cette erreur en mettant la bibliothèque tierce à la racine de l'EAR.
Toute aide sera grandement appréciée !
Merci
Partager