SpringBoot找不到静态资源文件
在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>
这样就可以访问静态资源文件了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)