2013-07-09 3 views
0

Voici donc ma fonction:XMLOutputFactory.newInstance() me donner une erreur de noClassDefFound

public void writeUserToFile() { 
    File newXmlFile = new File("res\\SavedShoppers.xml"); 
    try { 
     ArrayList<User> oldUsers = null; 
     if(newXmlFile.length() > 0){ 
      oldUsers = buildUsersFromFile(); // get old users 
      // remove current user from old users list to eliminate duplicates 
      for (int i = 0; i < oldUsers.size(); i++) { 
       if (oldUsers.get(i).equals(this)) 
        oldUsers.remove(i); 
      } 
     } 
     OutputStream outputStream = new FileOutputStream(newXmlFile); 
     XMLStreamWriter out = XMLOutputFactory.newInstance() 
       .createXMLStreamWriter(
         new OutputStreamWriter(outputStream, "utf-8")); 
     out.writeStartDocument(); 
      out.writeStartElement("user"); 
      out.writeAttribute("userId", String.valueOf(getUserId())); 
      out.writeAttribute("name", getName()); 
      for (ShoppingList sl : getShoppingLists()) { 
       out.writeStartElement("shoppingList"); 
       out.writeAttribute("name", sl.getName()); 
       for (ListItem li : sl.getItems()) { 
        out.writeStartElement("listItem"); 
        out.writeAttribute("name", li.getName()); 
        out.writeAttribute("quantity", 
          String.valueOf(li.getQuantity())); 
        out.writeEndElement(); 
       } 
       out.writeEndElement(); // shoppingList 
      } 
      out.writeEndElement(); // user 
     out.writeEndDocument(); 
     out.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

Donc ce que je suis en train d'accomplir est d'enregistrer un utilisateur dans un fichier XML pour sortir plus tard. Ceci est pour une application de liste de courses très simple qui créera un panier que vous magasinez pour vous aider à compléter votre achat au fur et à mesure. Voici l'erreur que je reçois:

java.lang.NoClassDefFoundError:javax/xml/stream/XMLOutputFactory

Comme debugger par se passe sur cette ligne:

XMLStreamWriter out = XMLOutputFactory.newInstance().createXMLStreamWriter(new OutputStreamWriter(outputStrem, "utf-8"))

Et je ne sais pas ce que je fais mal. .. Je travaille là-dessus depuis quelques jours et je n'ai plus d'idées ... toute aide ou direction serait géniale!

Merci! Jon

+0

C'était dans mon chemin de compilation. J'utilisais jre7 et j'avais ça dans mon chemin de compilation, mais j'avais aussi jer5 dans mon chemin de construction donc java le cherchait là au lieu de 7 ... et la classe n'existe pas dans 5 .. donc erreur NoClassDefFound! :) Yay. Puisque personne n'a répondu, je suppose que ce n'est pas un problème commun, donc j'espère que dans le futur, quelqu'un pourra trouver ce post quand il cherchera la même erreur! –

Répondre

0

Il était dans mon chemin de compilation. J'utilisais jre7 et j'avais ça dans mon chemin de compilation, mais j'avais aussi jer5 dans mon chemin de construction donc java le cherchait là au lieu de 7 ... et la classe n'existe pas dans 5 .. donc erreur NoClassDefFound! :) Yay. Puisque personne n'a répondu, je suppose que ce n'est pas un problème commun, donc j'espère que dans le futur, quelqu'un pourra trouver ce post quand il cherchera la même erreur!

Questions connexes