[英]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.