首页 文章

在Spring Boot中找到/ resource /目录下的静态文件

提问于
浏览
0

我有一个带有嵌入式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查看) .

enter image description here

当我运行此测试代码时,我得到' Files are empty: \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 /

  • / static /

  • / public /

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

1 回答

  • 1

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

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

相关问题