我有一个带有嵌入式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看)。
当我运行此测试代码时,我得到'文件为空:\ resources \ waitingKML '。
根据此处的文档https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot,Spring Boot将自动添加位于以下任何目录中的静态Web资源:
我想知道这是否与任何属性文件或我的配置/设置有关?
答案 0 :(得分:1)
这完全取决于当前工作目录的程序。通常在IDE中,它将成为项目的根,而不是src / main,因此无法找到它。
一旦它是部署的WAR,你需要确保资源被正确打包(无法告诉你用什么来打包所有内容)而不是原始文件访问需要使用类似ClassLoader.getResourceAsStream()来获取静态文件