我的项目目录结构
/src
/model
/Updatedata.java
/war
/vector
/basicvector.xml
我使用哪种方法从basicvector.xml
类
Updatedata
答案 0 :(得分:0)
的getClass()的getResource( “/”)。但它 返回路径WEB-INF / class /
这是因为在运行时,WEB-INF / class /文件夹被认为是CLASSPATH解析的当前目录。对getClass()的调用是调用当前类使用的类加载器,而getResource()则要求类加载器查找文件。这就是为什么“/”不是驱动器的根,它是类加载器的根/当前目录。
知道这一点,您可以使用相对路径向后导航到XML文件所在的位置。
假设您的代码结构如下
/war/vector/basicvector.xml
/war/WEB-INF/class/
然后你可以使用:
getClass().getResource("/../../vector/basicvector.xml");
答案 1 :(得分:0)
如果您正在编写servlet,则可以使用
getServletContext().getResourceAsStream("/basicvector.xml")
或
getServletContext().getResourceAsStream("/vector/basicvector.xml")
(我无法从问题中看出basicvector.xml是在.war的根目录还是在vector
的文件夹中)