我正在使用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但没有成功。
答案 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);