ОБНОВЛЕНИЕ: эта проблема существует в причале с 9.4.25.v20191220, я установил версию обратно на 9.4.24, она работает правильно. Является ли это ошибкой или изменением конфигурации, я не знаю.
Может быть, кто-то может помочь, я понимаю, что это все проблемы с конфигурацией, но у меня была эта проблема только при обновлении spring-boot-starter-parent до 2.1.13-RELEASE с 2.1.10-RELEASE.
Использование @SpringBootApplication и всего остального по умолчанию, за исключением следующего WebMvcConfigurer (найдено в другом сообщении здесь)
@Configuration
public class WebApplicationConfiguration implements WebMvcConfigurer
{
@Override
public void addViewControllers(ViewControllerRegistry registry)
{
registry
.addViewController("/{spring:\\w+}")
.setViewName("forward:/");
registry
.addViewController("/**/{spring:\\w+}")
.setViewName("forward:/");
registry
.addViewController("/{spring:\\w+}/**{spring:?!(\\.js|\\.css|\\.svg)$}")
.setViewName("forward:/");
}
}
Использование Jetty и проект angular, присутствующий в \src\resources\public\, включая index.html в общедоступном каталоге.
В предыдущей весенней версии я мог перейти к localhost: 8080, и он автоматически перенаправлялся на localhost: 8080/list, это настроено как перенаправление в индексном файле проекта angular.
Но теперь, используя 2.1.13, я должен явно перейти на localhost:8080/index.html, который работает, перенаправляет на /list, и я могу перемещаться по веб-сайту, но если я обновлю страницу или если я перешел явно на: 8080/list я получаю ошибка whitelabel 500
Я пытался:
1.
Добавление различных других правил контроллера представления:
registry.addViewController("/").setViewName("forward:/index.html");
registry.addViewController("/").setViewName("forward:index.html");
registry.addViewController("/**").setViewName("forward:index.html");
... Но я все равно не думаю, что это проблема.
2.
Просмотрел ResourceHandlerRegistry, чтобы увидеть расположение ресурсов по умолчанию, поэтому он должен подобрать мой файл index.html.
3.
Добавление spring.resources.static-locations=classpath:/public/xxx/**
Затем я получаю доступ к localhost:8080/xxx/ или localhost:8080/xxx/index.html whitelabel 404.
Я обновил Spring из-за уязвимостей в системе безопасности, поэтому в настоящее время возникает соблазн вернуться к 2.1.10 или 11 и получить только те версии зависимостей, которые необходимы для устранения уязвимостей. Я просто хотел бы понять, что происходит не так, и, очевидно, мне не нравится быть побежденным.
Кто-нибудь знает, есть ли журналы изменений для версий Spring, которые пролили бы свет на то, что изменилось? Я предполагаю, что это может быть связано с любым количеством зависимых проектов.