我需要在启动服务器时加载文件资源。 所以我把文件放在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的解决方案,但它没有用
答案 0 :(得分:0)
在tomcat中重写和解析类路径是一个相对复杂的过程,但简单的答案是WEB-INF
不类路径的一部分,因此您无法访问它来自你的webapp。 WEB-INF/classes
是您可以从中读取文件的地方。
您可能希望阅读this q/a,它应该为您提供所有可能的解决方案