Spring boot jar 应用程序在无效目录中搜索静态资源

Spring boot jar app searches for static resources in invalid directory

我查了很多题目,还是有这个问题。

public class WebConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/static/**")
            .addResourceLocations("/resources/back.office/", "/resources/front.office/");
}

我正在尝试访问

http://localhost:8080/static/index.html

但在此期间我看到了对

的请求
 http://localhost:8080/static/favicon.ico

位于此处

 \src\main\resources\front.office\resources\templates\generic\img\favicon.ico 

如何解决这个问题?

Spring boot documentation 中所述,静态内容将从类路径中的这些位置(/static/public/resources/META-INF/resources)提供。

我建议您在资源 (/src/main/resources) 中创建一个名为 public ('/src/main/resources/public/') 的目录,并将您的静态内容保存在那里并像这样注册。

registry.addResourceHandler("/static/**")
   .addResourceLocations({"classpath:/resources/","classpath:/static/", 
             "classpath:/public/","classpath:/META-INF/resources/"};

在您的情况下,您可以在 public 内设置 favicon.ico (/src/main/resources/public/favicon.ico),并且应该可以像这样访问。

http://localhost:8080/static/favicon.ico

如果您有像 /src/main/resources/public/x/y/z/abc.pqr 这样的文件,那么它应该可以像这样访问。

http://localhost:8080/static/x/y/z/abc.pqr

希望对您有所帮助。