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

JOnAS Java Discussion :

Problème de déploiement d'un ear avec jars utilitaires


Sujet :

JOnAS Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 25
    Points : 15
    Points
    15
    Par défaut Problème de déploiement d'un ear avec jars utilitaires
    Bonjour,
    J'ai un problème de déploiement d'un ear (généré par maven 2) sous jonas 4.8.5 qui contient un ejb jar, une webapp et un ensemble de librairies utilitaires. Ces librairies sont stockées dans un répertoire APP-INF/lib et ajoutées au classpath dans le manifest de l'ejb jar. Voilà le problème : la librairie common-configuration est par exemple utilisée. Cette librairie utilise entre autre la librairie xerces. Le jar "xercesImpl-2.2.1.jar" est bien dans APP-INF/lib et figure bien dans le classpath du manifest de l'ejb jar mais quand je veux déployer mon ear, j'obtiens le message d'erreur suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    2007-10-01 13:31:30,142 : EarServiceImpl.deployEar : Error while trying to resolve the classpath of the ejbjars and wars of the ear : 'file:/C:/projets/SNR004/JONAS_4_8_5/apps/autoload/snr_annuref-0.0.1.ear' : Error while reading manifest file from the file APP-INF\lib\xerces.jar : Le fichier spécifié est introuvable
    2007-10-01 13:31:30,158 : ServiceManager.startServices : ear service started
    2007-10-01 13:31:30,158 : EarServiceImpl.doStart : Cannot deploy the file 'C:\projets\SNR004\JONAS_4_8_5\apps\autoload\snr_annuref-0.0.1.ear' : Error while trying to resolve the classpath of the ejbjars and wars of the ear : 'file:/C:/projets/SNR004/JONAS_4_8_5/apps/autoload/snr_annuref-0.0.1.ear': org.objectweb.jonas.ear.lib.EarClassPathManagerException: Error while reading manifest file from the file APP-INF\lib\xerces.jar : Le fichier spécifié est introuvable
    Je ne comprend pas où peut être référencée cette librairie "xerces.jar" que jonas cherche (alors que la librairie est bien trouvée sous le nom xercesImpl-2.2.1.jar et contient les .class requis...)

    Voyez vous où est le problème ou y'a t'il un moyen de désactiver cette validation des classpath qui m'empêche de déployer cet ear qui me semble pourtant correct ? Merci d'avance.

  2. #2
    Membre VIP Avatar de kalysto
    Profil pro
    Développeur
    Inscrit en
    Mars 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mars 2003
    Messages : 442
    Points : 568
    Points
    568
    Par défaut
    Non, on ne peut pas désactiver cette validation.

    Par contre, il me semble que dnas J2EE, il est interdit de placer des libraries dans des sous répertoires de l'ear, elles doivent forcement se trouver à la racine.

    De plus, est ce que ce xerces.jar ne serait pas référencé dans votre META-INF/application.xml ?

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 25
    Points : 15
    Points
    15
    Par défaut
    Non, c'est bien xercesImpl qui est référencé. De toute façon le manifest étant créé par Maven, cette dépendance "xerces.jar" sans numéro de version ne peut pas venir d'un truc que j'ai généré et c'est bien ça que je ne comprend pas...

    Je vais essayer de mettre mes libs à la racine de l'ear mais j'ai des doutes étant donné que Jonas cherchait bien ce jar dans META-INF/lib.

    Je vous tiens au courant, merci.

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 25
    Points : 15
    Points
    15
    Par défaut
    Je viens d'essayer et c'est bien ce que je pensais, ça ne change rien, il me demande toujours ce xerces.jar (entre autre...)

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 25
    Points : 15
    Points
    15
    Par défaut
    Bon, ça y est, problème résolu.

    Le problème venait bien des dépendances transitives. La librairie common-configurations utilisait dom4j qui utilisait ... qui utilisait une librairie msv. Ce jar récupéré par maven dans un repository distant contenait dans le classpath de son manifest les librairies "xerces.jar", etc. que jonas cherchait en parsant récursivement toutes les dépendances. Pas de chance, c'est un des seuls jars que je n'avait pas vérifié

    Donc voilà, merci quand même

    PS: le fait de ne pas mettre les jars utilitaires à la racine de l'ear ne semble bien pas poser de problème (au déploiement en tout cas)

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 9
    Points
    9
    Par défaut EJB _ Jonas 4.8.5
    bonjour ; j'ai la meme erreure ; par contre moi j'utilise de xdoclet à la place de maven et je n'utilise pas de CVS ???!!!!
    j'ai pas rajouter les deux jars xerces et xercesimpl ;
    lequel il faut rajouter ds mon projet EAR ????
    merci d'avance

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 9
    Points
    9
    Par défaut EJB _ Jonas 4.8.5
    Citation Envoyé par jovanovic Voir le message
    bonjour ; j'ai la meme erreure ; par contre moi j'utilise de xdoclet à la place de maven et je n'utilise pas de CVS ???!!!!
    j'ai pas rajouter les deux jars xerces et xercesimpl ;
    lequel il faut rajouter ds mon projet EAR ????
    merci d'avance

  8. #8
    Membre VIP Avatar de kalysto
    Profil pro
    Développeur
    Inscrit en
    Mars 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mars 2003
    Messages : 442
    Points : 568
    Points
    568
    Par défaut
    Et bien si tu as la meme erreur, tu dois avoir le meme probleme: un jar que tu mets dans ton ear, ou que tu as referencé dans un attribut Class-Path du manifest d'un de tes ejbjars/webapp doit faire lui aussi référence à un jar qui n'est pas fournit par ton ear.

    Donc la solution est la meme: a toi de regarder les manifest de tes jars (peut etre de facon recursive) et trouver la dépendance qui manque...

    Bonne chasse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de déploiement EAR sur GlashFish avec Maven 2
    Par ilcugino dans le forum Glassfish et Payara
    Réponses: 4
    Dernier message: 18/06/2013, 13h06
  2. Réponses: 6
    Dernier message: 31/10/2007, 22h02
  3. problème avec jar file
    Par jayjay.f dans le forum AWT/Swing
    Réponses: 17
    Dernier message: 04/12/2006, 00h40
  4. Problème avec jar
    Par noussa_nouha dans le forum Langage
    Réponses: 2
    Dernier message: 08/09/2006, 15h52
  5. [XDoclet]Problème de déploiement de servlet avec XDoclet
    Par alheim dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 12/12/2005, 20h46

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