当前位置: 首页 > 知识库问答 >
问题:

通过Spring Boot在jar文件中提供静态资源

严远
2023-03-14

我正在开发一个由多个maven模块组成的解决方案,以处理不同的有界上下文。

由于spring boot,每个模块都公开了自己的rest api,所有这些都托管在一个maven模块中,并带有一个由@SpringBootApplication注释的类。简化的项目结构是这样的:

parent  
|-- pom.xml  
|-- ...
|-- host   
  |-- Application.java      
  |-- resources
     |-- index.html
|-- driver
  |-- api     
  |-- resources
     |-- register.html
|-- notify
  |-- ...
|-- passenger
  |-- ...

在面对复合 UI 时,我试图使用相同的模式:一个保留布局、静态资源的地方,同时,html 页面属于其 maven 模块中保留的每个有界上下文。

问题是,正如我在Spring启动文档中发现的那样,没有办法从其他jar文件中提供静态资源。

是否有任何解决方案可以获得此功能,或者此处是否存在任何体系结构错误?或者Spring外的东西(例如覆盖层)是解决方案

共有1个答案

漆雕修德
2023-03-14

扩展WebMvcConfigrerAdapter并覆盖addResourceHandler

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/static/**")
            .addResourceLocations("classpath:/static/");
}

参考spring-boot-app-does-serve-static-resources-after-packaging-into-jar

 类似资料:
  • 问题内容: 我正在为Django使用apache + mod_wsgi。 并且所有css / js / images都通过提供。 出于某种奇怪的原因,当其他人/朋友/同事尝试访问该网站时,jquery / css不会为他们加载,因此页面看上去很混乱。 我的html文件使用这样的代码- 我的nginx配置是这样的 有一个目录,其中有相应的&目录。 奇怪的是,当我访问它们时页面显示正常。 我已经清除了

  • 问题内容: 我想在localhost上的gunicorn下运行django项目。我安装并集成了Gunicorn。当我跑步时: 它可以工作,但是没有任何静态文件(css和js) 我在settings.py中禁用了debug和template_debug(将它们设置为false),但是仍然相同。我想念什么吗? 我称静态为: 问题答案: 在开发模式下以及使用其他服务器进行本地开发时,请将其添加到url.

  • 我无法访问静态内容(angular app),甚至无法访问简单的索引。来自spring boot的html文件。我一直收到404错误。Spring没有为我提供这些静态文件。自从升级到Spring Boot 2.2.4后,我就遇到了这个问题。我必须升级以应对Zip64问题。 我的application.properties里有这样一句话: 我也有自己的staticResourceConfigurat

  • 问题内容: 所以这很尴尬。我有一个应用程序,该应用程序已集成在一起,现在它只提供一个静态HTML页面,其中包含指向CSS和JS的链接。而且我找不到文档中描述返回静态文件的位置。是的,我可以使用,但是我知道数据没有模板化。我还以为或者是正确的事情,但我不能让这些工作。同时,我正在打开文件,阅读内容,并装配Response具有适当mimetype的: 有人要为此提供代码示例或网址吗?我知道这将变得简单

  • 我有一个express应用程序托管在google上,它使用express静态中间件。我希望将静态文件存储在上,并且能够从常规文件系统切换到而无需太多修改。 我在考虑编写一个中间件: 使用Google Cloud client library for Node.js,类似于Express缓存来自Google Cloud Storage的图像流); 或充当代理(将路径名映射到原始URL)。 有没有更简

  • 我一直在处理将一个站点从Apache迁移到Nginx的过程,我快要失去理智了。虚拟主机不想提供静态资源(css、js等),我似乎不知道为什么。服务器块看起来像这样: 我错过了什么?我知道这是因为我对Nginx缺乏经验,但任何建议都将不胜感激。 谢谢 更新 这似乎与我以前遇到麻烦的化名有关。如果我将我的文档根指向别名位置(),并尝试呈现没有别名的静态内容,它会呈现良好的效果。一旦我在网址中输入别名.