SpringBoot找不到静态资源文件

Posted GimGong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>


这样就可以访问静态资源文件了

以上是关于SpringBoot找不到静态资源文件的主要内容,如果未能解决你的问题,请参考以下文章

Springboot配置静态资源

SpringBoot 访问不到static文件夹下的静态资源

带有 Spring Boot 的 Thymeleaf - 找不到静态资产 (CSS)

解决springboot打成jar包之后无法读取外部的静态资源问题

SpringBoot找不到html资源的原因

springboot不打包静态文件