我有一个代码如下
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也加载了目录,因为在所有目录之后也是一个文件。
我的结构
答案 0 :(得分:0)
通常,只有/WEB-INF/classes
,/WEB-INF/lib
,/WEB-INF/...
内的任何内容都会添加到类路径中,并可通过ClassLoader.getResource()
访问。您尝试访问的文件夹不在WEB-INF
中,因此不会出现在类路径中。
假设您使用的是与Maven类似的内容,则应将资源文件放在/src/main/resources
下。构建项目时,这些文件将以WEB-INF/classes
结尾。