我已经编写了以下java方法来使用DocumentBuilderFactory和DocumentBuilder读取XML文件:
public static Document readAndGenerateXmlFile(String path, String fileName){
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = null;
Document xmlDocument = null;
try {
docBuilder = docBuilderFactory.newDocumentBuilder();
xmlDocument = docBuilder.parse(new File(path + fileName));
} catch (ParserConfigurationException exec) {
logger.error(exec);
} catch (SAXException exec) {
logger.error(exec);
} catch (IOException exec) {
logger.error(exec);
}
return xmlDocument;
}
我也使用Apache Maven并使用Glassfish Application Server。我想读取的XML文件存在于以下路径“src / main / resources / myfolder / myXmlFile.xml”中。该方法的参数是“path = src / main / resources /”和“fileName = tester.xml”
将通过以下方法调用java方法:
@ManagedBean(name="mybean")
@SessionScoped
public class GuiBean {
@PostConstruct
public void initializeGUI(){
Document xmlDocument = MyXmlFactory.readAndGenerateXmlFile("src/main/resources/myfolder", "myXmlFile.xml" );
// other java code
}
}
但是现在我遇到了问题,在执行上面的java方法时发生了IOException。我收到错误消息“系统找不到命名路径”。我也可以看到,路径将由Java JVM(?)扩展为“C:/Tools/myGlassfishServer/src/main/resources/myfolder/myXmlFile.xml”。
有没有人知道,为什么我会收到此错误消息?如果我没有在应用程序服务器上启动此方法,则将创建该文件。