JDOM XML

JDOM XML - Java - Programmation

Marsh Posté le 02-09-2004 à 10:46:25    

Bonjour,
 
le pauvre debutant en java et xml que je suis cherche à récuperer les donnees contenu dans les tags d'un fichier XML, donc quelque chose de tres basique en fait
 
 
j'utilise comme parser JDOM,(version 0.8, les autres ne s'installant par correctement sur mon environnement NT)
 
voici les etapes que j'ai suivie:
 
1 - installation de JDOM 0.8 -> execution du build -> installation correcte
 
2 -
j'ai recupere le code suivant, suppose m'afficher le contenu de tous mes noeuds:
 
=========debut code==========
 
import org.dom4j.*;
import org.dom4j.io.*;
import java.util.*;
 
public class TestDom4j_3
{
 public static void main(String args[]){
 
  Document document;
 
  try{
   SAXReader xmlReader = new SAXReader();
   document = xmlReader.read("D:\\java\\test\\conf\\text.xml" );
   
   XPath xpathSelector = DocumentHelper.createXPath("/biblio/livre/auteur" );
   List liste = xpathSelector.selectNodes(document);
 
   for( Iterator it = liste.iterator(); it.hasNext(); ){
    Element element = (Element)it.next();
    System.out.println(element.getName()+" : "+element.getText());
   }
 
  }catch(Exception e){
   e.printStackTrace();
  }
 
 }
}
 
 
=========fin code==========
 
 
la compilation se deroule parfaitement
 
par contre voici ce que me retourne le code a l'execution:
 
Exception in thread "main" java.lang.NoClassDefFoundError: org/dom4j/io/SAXReader
 
la librairie ne semble pas etre trouvee, une proposition pour changer le classpath ou autre?
 
je m'y suis mis il n'y a pas tres longtemps et j'ai encore bcp de mal  :cry:

Reply

Marsh Posté le 02-09-2004 à 10:46:25   

Reply

Marsh Posté le 02-09-2004 à 10:53:21    

je crois que cette classe est contenu dans  
dom4j.jar, ou
dom4j-full.jar
 
As tu ce jar dans ton classPath ?

Reply

Marsh Posté le 02-09-2004 à 10:59:07    

j'ai dom4j-1.5-rc1.jar dans mon classpath
 
par contre je n'ai pas trouve dom4j.jar, ou  
dom4j-full.jar

Reply

Marsh Posté le 02-09-2004 à 11:03:18    

ta classe est bien dans ce jar, t'inquiétes.
Tu utilises un IDE (genre Eclipse) ou tu fais tout à la main ?

Reply

Marsh Posté le 02-09-2004 à 11:08:45    

je fait la compile a la main et celle ci ne me retourne pas d'erreur:
 
D:\java\test\src\JDOM>javac TestDom4j_3.java
 
D:\java\test\src\JDOM>java TestDom4j_3
Exception in thread "main" java.lang.NoClassDefFoundError: org/dom4j/io/SAXReader

Reply

Marsh Posté le 02-09-2004 à 11:19:01    

fait comme ça (mets le dans un fichier .bat)
 
set CLASSPATH=%CLASSPATH%;{chemin_du_dom4j.jar}/dom4j-1.5-rc1.jar
java TestDom4j_3
 
et ca doit marcher

Reply

Marsh Posté le 02-09-2004 à 11:24:34    

merci de tes reponses rapide ohyes, mais decidement...voila la nouvelle erreur retournee
 
D:\java\test\src\JDOM>java TestDom4j_3
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException
        at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:182)
        at org.dom4j.DocumentHelper.createXPath(DocumentHelper.java:107)
        at TestDom4j_3.main(TestDom4j_3.java:15)

Reply

Marsh Posté le 02-09-2004 à 11:32:08    

et bien maintenant c'est facile.
TU as compris le principe. Il faut que tu positionnes correctement ton classpath.
 
Cherche dans quel .jar (ou répertoire ou .zip) se trouve cette classe "org/jaxen/JaxenException" et ajoute le aussi à ton CLASSPATH.
 
OK ?

Reply

Marsh Posté le 02-09-2004 à 11:52:42    

merci ohyes j'ai compris le principe,
mais ou vois tu que org/jaxen/JaxenException appartiens a tel ou tel jar?
 
j'ai ajouter dans le classpath:
jaxen-jdom.jar
jaxen-core.jar
 
et ca me renvoie toujours l'erreur
comment trouver le nom de la jar necessaire?
 

Reply

Marsh Posté le 02-09-2004 à 12:02:54    

tu fais un coup de google.
 
Mais maintenant que tu as compris le principe du classpath. Tu devrais regarder le classpath de ton JDOM, et le reprendre, tout simplement.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed