通过 Spring 引导在 jar 文件中提供静态资源
Serve static resources within jar files by Spring boot
我正在开发一个由多个 maven 模块来处理不同限界上下文的解决方案。
多亏了 spring 引导,每个模块都公开了自己的其余部分 api,并且所有这些都托管在一个带有 class 的 Maven 模块中,该模块由 @SpringBootApplication 注释。
简化的项目结构如下所示:
parent
|-- pom.xml
|-- ...
|-- host
|-- Application.java
|-- resources
|-- index.html
|-- driver
|-- api
|-- resources
|-- register.html
|-- notify
|-- ...
|-- passenger
|-- ...
我在面对复合材料时尝试使用相同的模式UI:一个地方保留布局、静态资源,同时,
html 页面属于保存在其 Maven 模块中的每个限界上下文。
问题是我在 spring 引导文档中发现的,无法从其他 jar 文件提供静态资源。
是否有任何解决方案来获得此功能,或者这里是否存在任何架构错误?或者 spring 之外的东西(例如覆盖)是解决方案?
扩展 WebMvcConfigurerAdapter 并覆盖 addResourceHandlers
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**")
.addResourceLocations("classpath:/static/");
}
参考
我正在开发一个由多个 maven 模块来处理不同限界上下文的解决方案。
多亏了 spring 引导,每个模块都公开了自己的其余部分 api,并且所有这些都托管在一个带有 class 的 Maven 模块中,该模块由 @SpringBootApplication 注释。 简化的项目结构如下所示:
parent
|-- pom.xml
|-- ...
|-- host
|-- Application.java
|-- resources
|-- index.html
|-- driver
|-- api
|-- resources
|-- register.html
|-- notify
|-- ...
|-- passenger
|-- ...
我在面对复合材料时尝试使用相同的模式UI:一个地方保留布局、静态资源,同时, html 页面属于保存在其 Maven 模块中的每个限界上下文。
问题是我在 spring 引导文档中发现的,无法从其他 jar 文件提供静态资源。
是否有任何解决方案来获得此功能,或者这里是否存在任何架构错误?或者 spring 之外的东西(例如覆盖)是解决方案?
扩展 WebMvcConfigurerAdapter 并覆盖 addResourceHandlers
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**")
.addResourceLocations("classpath:/static/");
}
参考