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
希望对您有所帮助。
我查了很多题目,还是有这个问题。
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
希望对您有所帮助。