更新:此问题存在于 9.4.25.v20191220 的码头中,我已将版本设置回它正确服务的 9.4.24。我不知道这是错误还是配置更改。
也许有人可以提供帮助,我很欣赏这是所有配置问题,但我只有将 spring-boot-starter-parent 从 2.1.10-RELEASE 升级到 2.1.13-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,并且在 \src\resources\public\ 中存在一个 Angular 项目,包括公共目录中的 index.html。
在之前的春季版本中,我可以导航到 localhost:8080,它会自动定向到 localhost:8080/list,这被设置为 Angular 项目索引文件中的重定向。
但是现在使用 2.1.13 我必须明确地转到 localhost:8080/index.html 这确实有效,重定向到 /list 并且我可以浏览网站,但是如果我刷新页面或者如果我明确地转到 :8080/list我得到白标签错误 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,并且只提取缓解漏洞所需的依赖版本。我只是想知道出了什么问题,显然不喜欢被打败。
有谁知道是否有春季版本的变更日志可以揭示发生了什么变化?我想这可能是由于任何数量的依赖项目。