在SpringBoot项目中出现了静态资源文件无法访问的情况,明明路径都正确,但是就访问不了

spring boot target springboottarget没有静态资源_静态文件

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目录

spring boot target springboottarget没有静态资源_Java_02


像这种情况就是没有将静态文件打包进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>

spring boot target springboottarget没有静态资源_静态文件_03


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