今天发现在当前项目的 resources/static 目录下新建的 test.js 文件访问返回 404。而新建了一个空的 Springboot 项目,不做任何特殊配置却可以正常访问。

大家都知道 Springboot 通过 @WebMvcAutoConfiguration 支持读取 "classpath:/META-INF/resources/", "classpath:/resources/", "classpath:/static/", "classpath:/public/"} 这几个约定目录下的文件。那为什么会失效呢?

原来 WebMvcAutoConfiguration 这个注解中有一个特殊的条件。当 WebMvcConfigurationSupport 没有加载时才生效。
image.png

然后去项目了找了下。果然发现了如下代码

public class InterceptorHandler extends WebMvcConfigurationSupport {
}

终于找到问题的根源了,然后就按照这个要求显示指明加载路径即可。

参考:http://www.cppcns.com/ruanjia...,原文找不到了。


布丁缘
1 声望0 粉丝