小编典典

将外部资源文件夹添加到Spring Boot

spring-boot

我想相对于jar的位置添加一个资源文件夹(除了jar中的打包资源),例如:

/Directory
    Application.jar
    /resources
        test.txt

我尝试了以下方法:

@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**")
            .addResourceLocations("/resources/", "file:/resources/");
}

我也尝试过:

.addResourceLocations("/resources/", "file:resources/");

http://localhost:8080/resources/test.txt使用任何一种设置进行访问都会导致出现白标错误页面。我该如何解决?


阅读 449

收藏
2020-05-30

共1个答案

小编典典

您的第二种方法可行:

@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**")
            .addResourceLocations("/resources/", "file:resources/");
}

当您从启动Spring Boot时/Directory,因为file:resources/它是相对路径。

cd Directory
java -jar Application.jar

如果可以将所有内容打包到jar中,这很好,但是如果必须引用外部资源,则应该使用绝对路径来避免此类问题。

2020-05-30