在Jar文件中获取xml文件

时间:2013-01-03 16:07:06

标签: java xml exception jar static-methods

我正在使用NetBeans,我在同一个问题的其他线程的帮助下编写了这个函数, 但我收到“InputStream is = getClass().getResourceAsStream(xml_file_path);”行的错误 说:“non-static method getClass() cannot be referenced from a static context

public static Document Get_XML_Document_From_Jar(String xml_file_path) {
    Document xml_doc = null;

    InputStream is = getClass().getResourceAsStream(xml_file_path);
    try {
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        xml_doc = db.parse(is);                          // just use a different parse method   
        xml_doc.getDocumentElement().normalize();
    } catch (Exception ex) {
        System.out.println(ex.getMessage());
    }
    return xml_doc;
}

我该怎么办? 我尝试使用ClassLoader但没有成功。

2 个答案:

答案 0 :(得分:4)

non-static method getClass() cannot be referenced from a static context

您必须使用:

YourClass.class.getResourceAsStream()

而不是getClass()

答案 1 :(得分:0)

试试这个:

InputStream is = YourClass.class.getClassLoader().getResourceAsStream(xml_file_path);