SpirngBoot+vue关于WebMvcConfigurer方法,在linux上jar部署无法排除静态资源的解决办法
时间: 2024-02-09 15:12:56 浏览: 70
在Spring Boot项目中,我们通常会使用 `WebMvcConfigurer` 配置类来自定义一些 Web MVC 相关的配置,其中包括排除静态资源的访问路径。
如果在 Windows 上运行 Spring Boot 项目,排除静态资源的访问路径通常是没有问题的。但是如果在 Linux 上使用 Jar 包部署,可能会遇到无法排除静态资源的问题。这是因为在 Linux 上,文件路径的分隔符是 `/`,而在 Windows 上是 `\`,因此需要做一些特殊处理。
解决方法如下:
1. 在 `WebMvcConfigurer` 的实现类中,重写 `addResourceHandlers` 方法:
```
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**")
.addResourceLocations("classpath:/static/")
.setCachePeriod(31556926);
}
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
configurer.setUseSuffixPatternMatch(false);
}
}
```
2. 在 `application.properties` 或 `application.yml` 文件中,添加以下配置:
```
spring.resources.static-locations=classpath:/static/
```
这样就能在 Linux 上正确排除静态资源的访问路径了。
阅读全文