Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175

    Errore di compilazione, dov'è???

    Ho questa classe java, il file si chiama DescendantDemo.java:
    codice:
    package xml;
    
    import java.io.*;
    import java.util.*;
    
    import org.jdom.*;
    import org.jdom.input.*;
    import org.jdom.output.*;
    import org.jdom.xpath.XPath;
    
    public class DescendantDemo {
    
        public static void main(String[] args) throws Exception {
            SAXBuilder builder = new SAXBuilder();
            Document doc = builder.build("src/xml/web.xml");
            XPath x = XPath.newInstance("/collection/dvd/@id");
            List list = x.selectNodes(doc);
            listAttributes(list, "");
        }
    
        private static void listElements(List es, String indent) {
            for (Iterator i = es.iterator(); i.hasNext();) {
                Element e = (Element) i.next();
                listElement(e, indent);
            }
        }
    
        private static void listElement(Element e, String indent) {
            System.out.println(indent + "*Element, name:" +
                    e.getName() + ", text:" +
                    e.getText().trim());
    
            //List all attributes
            List as = e.getAttributes();
            listAttributes(as, indent + " ");
    
            //List all children
            List c = e.getChildren();
            listElements(c, indent + " ");
        }
    
        private static void listAttributes(List as, String indent) {
            for (Iterator i = as.iterator(); i.hasNext();) {
                Attribute a = (Attribute) i.next();
                System.out.println(indent + "*Attribute, name:" +
                        a.getName() + ", value:" +
                        a.getValue());
            }
        }
    }
    E il documento XML (web.xml):
    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <collection>
    <dvd id="A">
      <title>Lord of the Rings: The Fellowship of the Ring</title>
      <length>178</length>
      <actor>Ian Holm</actor>
      <actor>Elijah Wood</actor>
      <actor>Ian McKellen</actor>
    </dvd>
    <dvd id="B">
      <title>The Matrix</title>
      <length>136</length>
      <actor>Keanu Reeves</actor>
      <actor>Laurence Fishburne</actor>
    </dvd>
    <dvd id="C">
      <title>Amadeus</title>
      <length>158</length>
      <actor>F. Murray Abraham</actor>
      <actor>Tom Hulce</actor>
      <actor>Elizabeth Berridge</actor>
    </dvd>
    <dvd id="D">
      <title>Chain Reaction</title>
      <length>106</length>
      <actor>Morgan Freeman</actor>
      <actor>Keanu Reeves</actor>
    </dvd>
    </collection>
    Quando compilo mi dice:
    codice:
    Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:169)
            at org.jdom.xpath.XPath.newInstance(XPath.java:134)
            at xml.DescendantDemo.main(DescendantDemo.java:21)punta alla riga in rosso
    Java Result: 1
    Dove è l'errore???

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Errore di compilazione, dov'è???

    Originariamente inviato da Metallica
    Quando compilo mi dice:
    codice:
    Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Class.java:169)
            at org.jdom.xpath.XPath.newInstance(XPath.java:134)
            at xml.DescendantDemo.main(DescendantDemo.java:21)punta alla riga in rosso
    Java Result: 1
    Dove è l'errore???
    Mi sa che l'errore non è in compilazione ma a runtime!

    Premetto che non conosco JDOM, comunque dalla eccezione capisco solo che non riesce a trovare la classe org.jaxen.JaxenException che è in un package che non hai nemmeno usato nel programma. Sicuro che in "classpath" ci siano tutti i jar necessari per usare JDOM???
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Si, anche secondo me quella classe non è inclusa nel classpath e nemmeno negli import della tua classe.
    Controlla quello.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Per curiosità ho scaricato JDOM. Quella classe sta nel jar jaxen-core.jar. Ma ce ne sono diversi altri di jar nella directory \lib e tutti dovrebbero stare in "classpath", più il jdom.jar che sta nella \build.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    Il problema è che io uso netBeans quindi mi ero allontanato un po' dalla guida ufficilae per cercare di farlo funzioanre in NetBeans.

    Qualcuno mi posta un link ad una guida di installazione?

  6. #6
    In Netbeans per includere files nel classpath fai molto semplicemente in questo modo:
    -tasto destro sul progetto e vai su proprietà
    -vai nella scheda riguardante le library e aggiungi il tuo file(.jar) alle librerie da includere.


    Quando buildi il tuo progetto le librerie verranno incluse automaticamente.


    Spero di essere stato d'aiuto.

    Ciao ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.