gpt4 book ai didi

java - 在Spring Boot中定位/resource/目录下的静态文件

转载 作者:行者123 更新时间:2023-11-28 22:54:44 25 4
gpt4 key购买 nike

我有一个带有嵌入式 Tomcat 的 spring boot 应用程序,我正在通过 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 查看)。

enter image description here

当我运行此测试代码时,我得到“文件为空:\resources\waitingKML”。

enter image description here

根据此处找到的文档,https://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot , Spring Boot 将自动添加位于以下任何目录中的静态 Web 资源:

  • /META-INF/resources/
  • /资源/
  • /静态/
  • /公共(public)/

我想知道这是否与任何属性文件或我的配置/设置有关?

最佳答案

这完全取决于程序的当前工作目录。通常在 IDE 中,它会成为项目的根目录,而不是 src/main,因此找不到它。

一旦它是一个已部署的 WAR,您需要确保资源被正确打包(无法告诉您使用什么来打包所有东西)而不是原始文件访问需要使用类似 ClassLoader.getResourceAsStream() 的东西来获取静态文件

关于java - 在Spring Boot中定位/resource/目录下的静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30689452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com