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

Spring Boot共享web模块(jar文件覆盖?)

陆晓博
2023-03-14

在使用.war输出进行web开发之前,有模块化war覆盖的选项http://maven.apache.org/plugins/maven-war-plugin/overlays.html

现在随着Spring Boot采用了jar封装,如何才能做出一些共享的web资源呢?

也就是对com.company.shared.web模块存在依赖关系,例如image/com.company.shared.web/src/main/resources/statig/images/background-image.png
如何使该映像可用于在主模块中运行Spring boot应用程序?Maven标准依赖项解析将只允许Java类可用。

附注。类似的问题,但是.war打包是Spring Boot&Maven war overlay,没有解决https://github.com/spring-projects/spring-boot/issues/1030

共有1个答案

松英叡
2023-03-14

您可以使用这个插件解压缩jar依赖项,并将文件复制到另一个目录。

完整示例项目

在这个示例项目中,您有一个父POM,后面是两个Jar打包的Maven模块。

    null
mvn clean package
java -jar web-app/target/web-app-0.0.1-SNAPSHOT.jar

浏览到localhost:8080,注意加载了来自Web-Library模块的style.css和script.js。

 类似资料:
  • 共享模块 Nest Modules can export their components. It means that we can easily share component instance between them. The best way to share an instance between two or more modules is to create Shared Modu

  • 问题内容: 我最近开始使用AngularJS,现在构建应用的方式是这样的: MainController.js SomeController.js Im遇到的问题是范围未在模块之间共享。例如,无法从 MainController 获得变量“ test”。 最佳做法是什么?是否将所有控制器都以1个文件存储在1个模块中? 我如何能有1个页面和2个控制器并在它们之间共享,还是可以将所有内容仅放在一个控制

  • 让我们创建一个名为的新模块,并在那里定义CounterService。 app/shared/shared.module.ts 现在我们将引入 SharedModule 到AppModule 和中。 app/lazy/lazy.module.ts 使用此配置,两个模块的组件都可以访问CounterService。 我们将以完全相同的方式在EagerComponent和LazyComponent中使

  • 问题内容: 我正在使用Google App Engine的Go运行时,并且有两个模块。我想在它们之间共享HTML模板,但不是最好的方法。 我的模块组织如下: 在我的情况下,和相同。如何在两个模块之间共享它而不必像现在那样复制文件? 我想放入一个目录, 但我相信这两者都不是,也不能访问该文件,因为它不在模块文件的同一目录或子目录中。我唯一的选择是在每个模块的模板目录之间符号链接文件吗? 问题答案:

  • 我可以有一个包含Springboot集成测试的罐子吗

  • 问题内容: 假设我有一个要注入到config中的模块: 有两个子模块: 这是第一个: 第二个是相同的,以简化示例: 您会注意到,您可以将它们作为提供者来访问以配置选项: 如果我们在控制器中,则可以覆盖每个范围,例如: 但是,如果他们总是共享相同的财产怎么办?如何在提供商之间共享某些东西? 我可以同时为和注入和配置共享属性吗? 如何同时访问和作为单个模块的扩展? 问题答案: 将模块插入两个共享这些属