我有一个带有嵌入式Tomcat的Spring启动应用程序,我正在通过Netbeans进行测试 . 在目录src / main / resources /下我有两个包含静态文件的文件夹 . 我正在尝试使用这些文件,但程序似乎认为文件夹是空的 .
这是我编写的一些代码,用于测试目录并查看它们是否包含任何文件 .
pathToFiles = "/resources/";
if(true)
{
File kmlDirectory = new File(pathToFiles + "waitingKML/");
Collection<File> files;
files = FileUtils.listFiles(
kmlDirectory,
new RegexFileFilter("^(.*?)"),
DirectoryFileFilter.DIRECTORY
);
if(files.isEmpty()) {
return "Files are empty: " + kmlDirectory.toString();
}
else
return "Files are NOT empty";
}
这是我的目录结构的图片(从Netbeans查看) .
当我运行此测试代码时,我得到' Files are empty: \resources\waitingKML ' .
根据此处的文档https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot,Spring Boot将自动添加位于以下任何目录中的静态Web资源:
-
/ META-INF /资源/
-
/ resources /
-
/ static /
-
/ public /
我想知道这是否与任何属性文件或我的配置/设置有关?
1 回答
这完全取决于当前工作目录的程序 . 通常在IDE中,它将成为项目的根,而不是src / main,因此无法找到它 .
一旦它是一个部署的WAR,你需要确保资源被正确打包(不能告诉你用什么来打包所有东西)而不是原始文件访问需要使用类似ClassLoader.getResourceAsStream()来获取静态文件