我在src / main / resources中有一个file.dat.
当我尝试测试一个通过jar文件加载该文件的类时,测试失败,因为它无法在路径(I / O异常)中找到该文件.通过测试获得的路径是:
/home/usr/workspace/project/target/test-classes/file.dat
但是目标/测试类中的文件不存在任何想法?
解决方法
来自src / main / resources的文件将在主程序运行时在类路径中可用,而在测试运行期间,src / main / resources和src / test / resources的文件将在类路径中可用.
Object content = Thread.currentThread().getContextClassLoader().getResource("file.dat").getContent();
..其中内容类型取决于文件内容.您也可以将文件作为InputStream获取:
InputStream contentStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("file.dat");