IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Wildfly/JBoss Java Discussion :

[Deploiement] Inclusion de bibliothèques tierces


Sujet :

Wildfly/JBoss Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 21
    Points : 22
    Points
    22
    Par défaut [Deploiement] Inclusion de bibliothèques tierces
    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:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <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

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Points : 445
    Points
    445
    Par défaut
    Pour utiliser une librairie tierce de l'ear, il faut rajouter sa déclarartion dans le fichier manifest de chacun des modules qui veut y accéder.

    Donc si tu veux que ton module war puisse utiliser ton commons-configuration.jar, il faut rajouter la déclaration de cette librairie dans le fichier META-INF/manifest.mf du war, sous la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Class-Path: lib/commons-configuration.jar
    Attention au format un peu particulier (72 caractères par lignes, ... voir les specs)

    Idem pour le module ejb

    Jacques Desmazières

  3. #3
    Membre éclairé Avatar de XmasRock
    Inscrit en
    Janvier 2007
    Messages
    729
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 729
    Points : 821
    Points
    821
    Par défaut
    Tu regardes la spec JEE5 qui n'est implémentée que par JBoss AS 5. JBoss AS 4.x est conforme à J2EE 1.4. La réponse de Jacques est correcte.

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/02/2013, 21h00
  2. [Artichow] Inclusion des bibliothèques
    Par Moumoutte dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 23/10/2009, 12h39
  3. Réponses: 9
    Dernier message: 10/01/2008, 16h44
  4. Makefile et inclusion de bibliothèque
    Par taro dans le forum C
    Réponses: 2
    Dernier message: 01/12/2007, 00h55
  5. Réponses: 1
    Dernier message: 07/09/2006, 15h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo