在我的.ear里面
-META-INF
-lib
-ejb-shared.jar
-ejb.jar
-com/ejb/... (classes)
-fileXml.xml (file I'm trying to access)
-web.war
一些描述:
问题是我无法访问fileXml.xml。在EJB bean(ejb.jar)中,我已经完成了:
File f = new File("fileXml.xml");
System.out.println(f.exists()); // returns false!
我不知道为什么,但似乎fileXml.xml不在类路径中,虽然它出现在.ear中,或者我可能以错误的方式做事!
答案 0 :(得分:2)
使用new File("fileXml.xml")
将引用应用程序服务器JVM的当前工作目录中的文件,而不是相对于您的特定应用程序。尝试使用:
URL url = getClass().getResource("/fileXml.xml");
boolean exists = url != null;
System.out.println(exists);
InputStream input = url.openStream();
// ... read and close input stream