繁体   English   中英

ResourceBundle在目标/测试类中找不到资源

[英]ResourceBundle can't find resources in target/test-classes

我的问题是,当资源捆绑在JUnit测试期间尝试获取资源时,我得到MissingResourceException,但是位于src / test / resources中的所有文件都被编译为目标/测试类,我什至可以使用

 ClassLoader classLoader = getClass().getClassLoader();
        File file = new File(classLoader.getResource("someFile.properties").getFile());
        System.out.println(file.getAbsolutePath()); 

我该怎么办?

“ classLoader.getResource()”可能是导致此问题的原因。 尝试通过返回InputStream的ResourceAsStream进行获取。 例如:-

InputStream是= this.getClass()。getClassLoader()。getResourceAsStream(“ filename”);

我检查了文件的代码。 我发现没有使用文件对象构造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");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM