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

时间:2018-09-10 21:25:00

标签: java spring spring-boot web-applications resources

我检查了很多主题,但仍然存在此问题。

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 

如何解决?

1 个答案:

答案 0 :(得分:0)

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

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

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

在您的情况下,您可以在公共场所(/src/main/resources/public/favicon.ico)中拥有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

我希望这会有所帮助。