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

Eclipse Java Discussion :

java.lang.NoClassDefFoundError - Classpath Eclipse


Sujet :

Eclipse Java

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut [Résolu] java.lang.NoClassDefFoundError - Classpath Eclipse
    Bonjour,

    Je rencontre un problème de type java.lang.NoClassDefFoundError dans le cadre d'un projet Tomcat (avec serlvet, JSP ...).

    Il me semble que mon programme ne trouve pas la librairie, il y a ce message d'erreur à l'exécution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java.lang.NoClassDefFoundError: com/hp/hpl/jena/rdf/model/ModelFactory
        com.servlet.maclasse.model.MaClasseModel.<init>(MaClasseModel.java:37)
    La ligne étant : jenaModel = ModelFactory.createDefaultModel();

    J'ai pourtant bien lié les librairies (en l'occurence, la librairie s'appelle Jena) à mon projet, en suivant ce tutorial :

    http://www.iandickinson.me.uk/articl...se-helloworld/

    En gros j'ai ajouté la librairie à Eclipse, puis j'ai fait Clic droit> Build path > ... pour indiquer la librairie fraichement ajoutée.
    J'ai lu sur d'autres sujets que le problème venait du fait qu'il fallait bien indiquer au projet comment accéder aux libraires, mais il me semble qu'en configurant le build path c'est bon (les librairies figurent bien dans mon projet).

    Pour info, quand je fais la même chose dans un autre projet en mode Console, tout se passe bien, il trouve bien la librairie.

    Avez vous des pistes à me donner ?

    Merci d'avance!

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Bonjour,

    Bon apparemment, tu as suivi le tutoriel pour créer un projet java standard mais toi tu parles d'un projet web dynamique...
    Donc, est-ce que tu as un problème pour arriver au même résultat que dans le tutoriel ou c'est parce que tu ne parviens pas à faire la même chose dans un projet web ?

    Quoi qu'il en soit, si tu as une java.lang.NoClassDefFoundError c'est que les jar nécessaires ne sont pas référencés correctement dans le classpath de lancement...

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Donc, est-ce que tu as un problème pour arriver au même résultat que dans le tutoriel ou c'est parce que tu ne parviens pas à faire la même chose dans un projet web ?
    >> Je n'arrive pas à faire la même chose dans un projet web.

    Quoi qu'il en soit, si tu as une java.lang.NoClassDefFoundError c'est que les jar nécessaires ne sont pas référencés correctement dans le classpath de lancement...
    Pourtant, les librairies apparaissent bien dans mon explorateur Eclipse, comme ça :



    Est-ce que tu vois un problème avec cette arborescence ?

    Sachant que les sources Jena ne sont pas dans le Workspace de mon Eclipse courant (C:\Eclipse_Workspace\ correspond à un autre Eclipse), mais je crois que j'avais testé de le mettre dans le même mais ça ne posait pas de problème.

    En tout cas merci d'avoir répondu!

  4. #4
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Ca n'a rien à voir avec le workspace.
    Quel que soit l'emplacement d'une lib, il faut être sûr que le classpath de lancement fait bien référence à l'endroit où elle se trouve....

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 333
    Points : 295
    Points
    295
    Par défaut
    salut,

    Si tu fais un projet web avec eclipse, il faut s'assurer de 2 choses :
    1. le path pour la compilation
    2. embarquer les librairies nécessaire à l'execution

    tu as du passer le pts 2
    il faut que classiquement tes libs soient ds WEB-INF\lib

  6. #6
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Quel que soit l'emplacement d'une lib, il faut être sûr que le classpath de lancement fait bien référence à l'endroit où elle se trouve....
    Il me semble qu'en faisant Clic droit > Build Path > Configure Build Path et en s'assurant que la lib est bien présente, ça suffit pour vérifier, non ?
    Il y a une manière plus efficace de s'en assurer ?

    il faut que classiquement tes libs soient ds WEB-INF\lib
    Je l'ai fait, j'ai tout mis dans MonProjet/WebContent/WEB-INF/lib/jena/lib

    Pour info, voici le screenshot de l'exploreur qui contient aussi mon Serveur Tomcat :



    Je pense vraiment que c'est la piste, mais il doit manquer un petit truc pour que ça fonctionne!! Des idées ?

    Merci!

  7. #7
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Salut,
    Pour les proejts web, Eclipse sépare la notion de build-ath (les jars disponibles durant la compilation) et le classpath (jars disponibles à l'exécution).
    Si t'as ajouté les jars au build path (dans un projet web), il faut aussi les ajouter au classpath, en faisant un clic droit sur le projet, proeprties, Java EE module dependencies, et en cochant les jars.

  8. #8
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Salut,

    En fait ça s'est résolu quand j'ai placé directement les fichiers .jars dans WEB-INF/lib (alors qu'avant ils étaient dans des répertoires eux mêmes situés dans WEB-INF/lib).

    Merci pour tout!

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/05/2012, 17h20
  2. Réponses: 1
    Dernier message: 08/10/2009, 16h25
  3. [JDOM] java.lang.NoClassDefFoundError et classpath
    Par skysee dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 05/01/2008, 16h28
  4. [ eclipse3 ] [ Deb. ] java.lang.NoClassDefFoundError:
    Par Marc_3 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 19/10/2005, 12h26
  5. [Struts] java.lang.NoClassDefFoundError
    Par Zephoria dans le forum Struts 1
    Réponses: 2
    Dernier message: 08/02/2005, 10h51

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