我的问题是,当资源包在JUnit测试期间尝试获取资源时,我得到MissingResourceException,但是位于src / test / resources中的所有文件都被编译成目标/测试类,我甚至可以使用
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("someFile.properties").getFile());
System.out.println(file.getAbsolutePath());
我该怎么办?
答案 0 :(得分:0)
' ClassLoader.getResource方法()'可能导致问题。尝试通过返回InputStream的ResourceAsStream获取它。例如: -
InputStream is = this.getClass()。getClassLoader()。getResourceAsStream(" filename");
答案 1 :(得分:0)
我查了File的代码。我发现没有这样的构造函数构造一个带有文件对象的File对象。
如果您进行maven测试,请将资源文件复制到测试类。
试试这个
// this will show your resoure root.
File file = new File(getClass().getResource("/").getPath());
// debug you may find your file here.
File[] resoureces = file.listFiles();
或只是使用
File file = new File(getClass().getResource("/").getPath() + "someFile.properties");