Spring Boot 1.1.9+ addResourceHandler不适用于绝对路径的静态资产

时间:2014-11-15 00:03:38

标签: spring-boot

我有一个带有静态html,css和img文件的spring boot应用程序,我们希望保留在/ static目录之外(在开发期间),以实现模块化和轻松重新加载和开发。它是我们用AngularJS编写的前端组件。问题在1.1.8中,以下注册工作:

String userDir = System.getProperties().getProperty("user.dir");
String prefix = "file:";

registry.addResourceHandler("/diagnostics/systemstatusng/**").addResourceLocations(prefix + userDir + "/myAngularFrontend1/app/**");
registry.addResourceHandler("/loginondemand/**").addResourceLocations(prefix + userDir + "/myAngularFrontEnd2/app/**");

但是在spring-boot-starter 1.1.9(和1.2.0.RC1)中,这已不再适用。

看看这篇最近的帖子How to dynamically add static resources to spring-boot jar application?,看起来它应该可行,但我们已经尝试过左右,并且无法弄清楚为什么它在spring boot starter 1.1.9及更高版本中不起作用。任何见解都将不胜感激。

1 个答案:

答案 0 :(得分:0)

资源位置需要是以" /"结尾的目录(不是模式),例如

registry.addResourceHandler("/diagnostics/systemstatusng/**").addResourceLocations(prefix + userDir + "/myAngularFrontend1/app/");

Spring Boot中没有任何变化(这是一个核心的Spring MVC功能),所以你必须在以前做过不同的事情。