SpringBoot项目引入本地JS文件报404错误该如何解决?
问题原因
Spring Boot 有默认的静态资源映射规则,src/main/resources/public、src/main/resources/static、src/main/resources/resources、src/main/resources/META-INF/resources 这四个目录属于默认静态资源根目录,目录下的所有资源会直接映射到服务的根路径 / 下,访问时不需要携带public这层目录名称。你当前写的路径多了public前缀,自然找不到对应资源。
修复方案
将原有引入代码
<script src='public/swagger/lib/jquery-1.8.0.min.js' type='text/javascript'></script>
修改为:
<script src='/swagger/lib/jquery-1.8.0.min.js' type='text/javascript'></script>
路径开头的斜杠表示从服务根路径开始匹配资源,能避免当前页面访问路径变化导致相对路径加载失败的问题。
异常排查(可选)
如果修改后还是报404,可以按以下步骤检查:
- 确认项目编译后的
target/classes/public目录下存在对应路径的jQuery文件,排除资源未被编译打包的问题 - 检查项目是否有自定义静态资源映射配置,比如是否实现
WebMvcConfigurer接口重写了addResourceHandlers方法,自定义的映射规则会覆盖默认规则,需要对应调整访问路径
内容的提问来源于stack exchange,提问作者milox
相关产品推荐
相关产品推荐

