从src文件夹类中读取war文件

时间:2011-05-03 20:23:25

标签: java

我的项目目录结构

/src
 /model
 /Updatedata.java

/war
 /vector
 /basicvector.xml

我使用哪种方法从basicvector.xml

中读取Updatedata

2 个答案:

答案 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的文件夹中)