0

所以这是我的功能:

    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();
    }
}

所以我想要完成的是将用户保存到 XML 文件中以便以后提取。这是一个非常简单的购物清单应用程序,它将在您购物时创建一个购物车,以帮助您在购物时汇总您的购买。这是我得到的错误:

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

当我调试时,这条线上正在发生:

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

而且我不确定我做错了什么......我已经为此工作了几天,所以我没有想法......任何帮助或指导都会很棒!

谢谢!乔恩

4

1 回答 1

0

它在我的构建路径中。我正在使用 jre7 并且在我的构建路径中有它,但我的构建路径中也有 jer5,所以 java 在那里寻找它而不是 7 ......并且该类在 5 中不存在......因此 NoClassDefFound 错误!:) 耶。由于没有人回复,我认为这不是一个常见的问题,所以我希望将来有人在搜索相同的错误时可以找到这个帖子!

于 2013-07-17T16:21:06.060 回答