Spring Boot не может найти ресурсы изображения - PullRequest
0 голосов
/ 21 марта 2019

Приложение Spring Boot упаковано в файл fat jar. Я использую встроенный Tomcat экземпляр Spring Boot. Я не изменил расположение по умолчанию в application.properties для spring.resources.static-locations. Производственная сборка для приложения Angular добавлена ​​в /static. server.servlet.context-path устанавливается как app. server.port - это 8480. base href для index.html является .

/static
- /assets
-- /images
---- logo.png
---- /flags
------ flag.png
-- /scss
- index.html
- *.js
- *.js.map
- *.ttf
- *.eot
- *.svc
- *.woff
- *.woff2

Я могу загрузить интерфейс, и приложение Angular правильно отправляет REST-запросы, но я не могу загрузить любой ресурс изображения. /assets/scss правильно распознается в Dev Tools, но не /assets/images. Также добавлено это @Configuration в соответствии с этим видео.

@Configuration
public class StaticResourceConfigurator extends WebMvcConfigurerAdapter {
   @Override
   public void addResourceHandlers(ResourceHandlerRegistry registry) {
      registry
        .addResourceHandler("/assets/images/**")
        .setCachePeriod(0)
        .addResourceLocations("classpath:/static/assets/images/");
      }
}

Запросы на ресурсы изображения отправляются на localhost:8480/assets/images/logo.png, когда должно быть localhost:8480/app/assets/images/logo.png

Я использую IntelliJ IDE. Вот скриншот моего resources

Журнал ChromeDevTools с использованием приложения для производственной сборки. Заменено app на afs

1 Ответ

0 голосов
/ 21 марта 2019

Вам следует изменить baseUrl вашего индексного файла следующим образом.

Если ваше имя Jar-файла - app.jar, тогда ваш baseUrl должен быть

<base href="/app/">
...