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

Format d'échange (XML, JSON...) Java Discussion :

[JDOM] erreur ElementTransversal [DOM]


Sujet :

Format d'échange (XML, JSON...) Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2011
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 14
    Par défaut [JDOM] erreur ElementTransversal
    Bonjour,

    débutant en java je travaille sous Eclipse sur un projet dans le quel je dois manipuler des fichiers xml.
    Pour apprendre j'ai travaillé avec les librairies sax et en ce moment je fais des essais avec DOM et JDOM.

    Pour l'instant mon code DOM est très simple et mais il me sort systématiquement la même erreur:

    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
     
    import org.apache.xerces.parsers.DOMParser;
    import org.w3c.dom.Document;
     
    public class Test_DOM5 {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) throws Exception {
    		// TODO Auto-generated method stub
    		DOMParser parser = new DOMParser();
    		parser.parse("families.xml");
    		Document document = parser.getDocument();
    	}
     
    }

    et j'ai l'erreur:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    Exception in thread "main" java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
    	at java.lang.ClassLoader.defineClass1(Native Method)
    	at java.lang.ClassLoader.defineClass(Unknown Source)
    	at java.security.SecureClassLoader.defineClass(Unknown Source)
    	at java.net.URLClassLoader.defineClass(Unknown Source)
    	at java.net.URLClassLoader.access$000(Unknown Source)
    	at java.net.URLClassLoader$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    	at org.apache.xerces.parsers.AbstractDOMParser.startDocument(Unknown Source)
    	at org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown Source)
    	at org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown Source)
    	at org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    	at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
    	at Test_DOM5.main(Test_DOM5.java:13)
    Caused by: java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal
    	at java.net.URLClassLoader$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    	... 21 more:mur:

    - J'ai intégré le jar de xerces le dernier en date
    - En fouillant un peu j'ai essayé de définir une interface element transversal comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public interface ElementTraversal {
     
    	    Element getFirstElementChild();
    	    Element getLastElementChild();
    	    Element getNextElementSibling();
    	    Element getPreviousElementSibling();
    	    int getChildElementCount();
    	}
    mais cela ne change rien.

    - Je me suis dit que cela devait avoir un lien avec le Du coup j'ai essayé de modifier les imports (IOException, SAXException...)
    mais rien n'y fait

    Du coup je suis pas sur de bien comprendre ce qui se passe et du coup bin...

    Au vue de la simplicité du code ce doit être une erreur bete, je vous remercie d'avance pour toutes indications que vous pourriez me donner.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    Bonjour,
    je ne connaissais pas cette interface ElementTraversal.
    Apparemment, elle est disponible que sur Xerces2 (classe org.w3c.dom.ElementTraversal).
    N'y aurait-il pas deux versions du jar xerces déployé dans les lib de ta webapp ?

  3. #3
    Membre averti
    Inscrit en
    Avril 2011
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 14
    Par défaut
    Merci pour ta réponse.

    Ecoute apres plusieurs vérifications (histoire d'être sur) je n'en ai qu'une seule version du jar xerces inclue dans mon projet. apres je me suis que c'etait ptetre pas le bon jar alors j'ai téléchargé ne autre version de xerces mais le probleme est le même

    Le jar que j'inclue est le fichier xercesImlp.jar (pour info)

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    xercesImpl.jar, et là pour le coup le numéro de version aiderait aussi.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    D'après ce que je vois sur internet, l'interface ElementTraversal se situe dans le jar xml-apis.jar et non dans xercesImpl (où on doit sûrement y trouver une implémentation).
    As-tu bien mis ce jar correspondant à la distribution de Xerces 2 ?

  6. #6
    Membre averti
    Inscrit en
    Avril 2011
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 14
    Par défaut
    merci beaucoup,

    effectivement il fallait aussi ajouter le jar xml-apis.jar et la tout marche.

    Encore merci pour l'info ep31

  7. #7
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 4
    Par défaut
    Parfois autrement appelé xml-commons-apis.jar

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

Discussions similaires

  1. [JDOM] Erreur java.lang.NoClassDefFoundError: org/jdom/Element
    Par harhour85 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 28/01/2011, 08h29
  2. [GMF] [JDOM] Erreur
    Par Jihane22 dans le forum Eclipse Modeling
    Réponses: 6
    Dernier message: 01/10/2010, 11h27
  3. [JDOM] message d'erreur JDOM
    Par lotfi-g dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 15/09/2010, 14h04
  4. message d'erreur sous eclipse avec jdom
    Par kayenne77 dans le forum XML/XSL et SOAP
    Réponses: 13
    Dernier message: 03/07/2009, 14h11
  5. [JDOM] Erreur de DTD lors de la création d'un objet JDOM
    Par Kerod dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 24/05/2007, 13h14

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