2013-10-02 27 views
0

我有一個這樣的代碼如下的ResourceLoader拋出異常

public LocalFileStorage(String storageUrl, Resource storageDirectory) { 
    this.storageUrl = storageUrl; 
    try { 
     this.storageDirectory = storageDirectory.getFile(); 
     this.storageDirectory.deleteOnExit(); 
     this.storageDirectory.createNewFile(); 
    } catch (IOException e) { 
     throw new RuntimeException(e); 
    } 
} 

我調用類的如下。

private ResourceLoader resourceLoader; // from spring 

LocalFileStorage pictureStorage = new LocalFileStorage(Url+ "/resources/", resourceLoader.getResource("/resources/")); 

調用

resourceLoader.getResource("/resources/") 

拋出異常。我認爲ResourceLoader也加載目錄,因爲所有的目錄也是一個文件。

我的結構

enter image description here

回答

0

通常,只有東西里面/WEB-INF/classes/WEB-INF/lib/WEB-INF/...將通過ClassLoader.getResource()添加到類路徑和訪問。您嘗試訪問的文件夾不在WEB-INF中,因此不會顯示在類路徑中。

假設您使用的是類似於Maven的東西,您應該將資源文件放在/src/main/resources之下。當你的項目建成後,這些文件將以WEB-INF/classes結束。