簡體   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