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

Tomcat et TomEE Java Discussion :

Erreur côté serveur Tomcat : NoClassDefFoundError


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 80
    Points : 40
    Points
    40
    Par défaut Erreur côté serveur Tomcat : NoClassDefFoundError
    Bonjour à toutes et à tous,

    J'ai un petit souci sur du code coté serveur.
    Mon traitement s'exécute jusqu'à ce que le serveur pète sur ça :"ApplicationFilterChain.InternalDoFilter(ServletRequest, ServletResponse)".

    Ma conf:
    Serveur Tomcat 5.5_17 (Version obligatoire pour être déployé sur un Tomcat historique du projet.
    JRE 1.6.0_u03 (pour les libs communes compilées en 1.6.0_u03 32Bits)

    Mon problème:

    J'ai identifié le souci sur un appel de méthode d'une librairie que j'importe car elle est partagée avec le client lourd qui requête le serveur.
    Ca pète sur cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String reqauthUncoded = new String(Base64.decode(reqauth.trim()));
    Il s'agit du Base64 de la lib kerberos que j'importe.

    Mais je remarque que ça pète aussi sur un appel d'une classe appartenant à mon serveur, dans un package:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CATChangePasswordManager.getInstance().sendResponse(_isAuthOK, _errorMess, response_);
    Dans ce cas précis, je ne rentre même pas dans le getInstance().

    Après quelques recherches, je trouve des billes sur des mauvais classpath pour les libs semble-t-il.
    J'ai donc tenté de bouger mes imports de lib comme suit:
    WEB-INF/lib -> KO
    /lib -> KO
    SourceFolder "lib" -> KO
    Ca ne donne rien du tout! J'ai toujours ce même problème.

    Questions:
    Y a-t-il une facon meilleure de passer l'objet "HttpServletRequest" dans des classes que j'utilise?
    Je fais tout simplement ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    authentication(request);
    Mais peut-être faut-il passer ar un Dispatcher?

    Comment faut-il ajouter des librairies sur une application serveur?

    Y a-t-il une conf particulière pour le serveur lui même?

    Si quelqu'un peut me débloquer sur ce point, ce serait vraiment cool..

    Bonne journée à tous.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    tu peux préciser "ça pête"? Stacktrace, exception, message? Je ne connais aucun serveur qui dise "j'ai pêté".

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 80
    Points : 40
    Points
    40
    Par défaut Erreur cote serveur Tomcat
    Ca pete sur une NoClassDefFoundError.

    Nom : stacktrace.jpg
Affichages : 263
Taille : 184,9 Ko

    Mais ce que je ne pige pas, c'est que la librairie est bien accessible dans le projet. (ainsi que toutes les libs dont elle dépenderait)
    Et surtout que ce fameux "ApplicationFilterChain.InternalDoFilter(ServletRequest, ServletResponse)" est levé aussi sur des simples appels de classe comme "CATChangePasswordManager" qui est une classe du projet, crée par le projet, utilisée que par le projet. Donc pas de souci de lib foireuses a ce niveau la.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Le lib n'est peut être pas déployé sur le serveur, bien que tu l'as sur ton IDE. Vérifie dans ton répertoire de déploiement du projet sur tomcat, dans WEB-INF/lib si le jar est bien présent et essaie de l'ouvrir avec un gestionnaire d'archive pour vérifier que le jar n'est pas tronqué.

    PS: Copie et colle les erreurs dans une balise [QUOTE] au lieu d'utiliser un imprime écran.

    A+.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 80
    Points : 40
    Points
    40
    Par défaut Erreur cote serveur Tomcat
    Les jars de mes libs sont bonnes dans le répertoire sur le serveur.
    Bonne taille, etc...

    Je sèche complètement la dessus!

    Sinon, il y a des règles particulières à appliquer pour l'intégration de librairies dans un projet tomcat? (Sur les emplacements notamment)

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    elles doivent se trouver dans le WEB-INF/lib du war généré.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 80
    Points : 40
    Points
    40
    Par défaut Erreur côté serveur Tomcat : NoClassDefFoundError
    Merci pour vos réponses.

    Du coup j'avais déjà mes librairies dans WEB-INF/lib, donc toujours en échec sur ce problème.

    Je l'ai contourner en me servant de la lib "Base64" d'apache, et en ne me servant plus de ma classe dans mon projet.
    Mais ça ne résout pas le problème..

    Je laisse le post ouvert si quelqu'un à d'autres explications.

    Merci à tous.

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Si le jar de la librairie contenant la classe en question est dans le WEB-INF/lib de ton war, alors tu n'aura plus l'exception. Il n'y a pas d'alternative. un NoClassDefFoundError signifie que la définition de la classe n'est pas trouvée, et ce qui se trouve dans le WEB-INF/lib est ajouté automatiquement aux définitions.

Discussions similaires

  1. Erreur 502 serveur tomcat 8 avec apache en frontal.
    Par fenrirsønn dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 31/05/2016, 14h27
  2. Erreur sur serveur Tomcat
    Par gomisse dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 10/02/2015, 19h13
  3. erreur serveur TOMCAT org.apache.jasper.JasperException:
    Par Dryss51 dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 29/02/2008, 17h41
  4. erreur 404 sur serveur tomcat
    Par sg.forums dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 30/10/2006, 13h16
  5. erreur 404 sur serveur tomcat
    Par sg.forums dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 27/10/2006, 11h11

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