Добавить папку внешних ресурсов в Spring Boot
Я хотел бы добавить папку ресурсов относительно местоположения банки (в дополнение к упакованным ресурсам в моей банке), например:
/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
С любой настройкой приводит к странице ошибки whitelabel. Как я могу это решить?
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
приятно, если вы можете упаковать все в банку, но если вам нужно ссылаться на внешние ресурсы, вы должны использовать абсолютные пути чтобы избежать подобных проблем.