在SpringBoot项目中出现了静态资源文件无法访问的情况,明明路径都正确,但是就访问不了
springboot访问静态资源,默认有两个默认目录:
一个是 src/mian/resource目录
一个是 ServletContext 根目录下(src/main/webapp)
1.查看是否开启了静态资源文件放行
有三种方式可以实现静态文件放行,任选其一即可
1.1 在application.properties配置静态文件放行
spring.web.resources.static-locations=classpath:/static/
1.2 在application.yml配置静态文件放行
spring:
resources:
static-locations: classpath:/static/
1.3 实现WebMvcConfigurer接口实现静态文件放行
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
}
}
如果还是不能访问静态文件,就需要检查maven是否将静态文件打包进target目录了
2. 查看maven是否将静态文件打包进target目录
像这种情况就是没有将静态文件打包进target目录,需要修改maven的配置
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>static/**</include>
<include>**/*.xml</include>
<include>**/*.yml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
这样就可以访问静态资源文件了