如何从中访问静态资源(WEB-INF)文件夹并为其编写测试

时间:2014-01-27 15:57:11

标签: spring junit resources web-inf

我需要在启动服务器时加载文件资源。 所以我把文件放在webapp / WEB-INF下。

问题是单元测试失败了。

我尝试使用以下方法加载文件:

URL url = Utils.class.getClassLoader().getResource(fileName);
File file = new File(url.getFile());
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));

但是类加载器找不到该文件。好像是在

寻找它
file:/C:/<local path>/<my project>/target/test-classes/
  • 在正常模式和测试模式下有不同的上下文

我还尝试了建议here的解决方案,但它没有用

1 个答案:

答案 0 :(得分:0)

在tomcat中重写和解析类路径是一个相对复杂的过程,但简单的答案是WEB-INF 类路径的一部分,因此您无法访问它来自你的webapp。 WEB-INF/classes是您可以从中读取文件的地方。

您可能希望阅读this q/a,它应该为您提供所有可能的解决方案