gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:05:45 25 4
gpt4 key购买 nike

在使用 .war 输出进行 Web 开发之前,可​​以选择模块化 war overlays http://maven.apache.org/plugins/maven-war-plugin/overlays.html

现在Spring Boot采用jar打包,如何制作一些共享的web资源?

那是对 com.company.shared.web 模块的依赖,例如,图像/com.company.shared.web/src/main/resources/static/images/background-image.png
如何使此图像可用于在主模块中运行 Spring Boot 应用程序? Maven 标准依赖项解析将仅使 Java 类可用。

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

最佳答案

Maven Dependency Plugin

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

Full Sample Project

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

  • Web-App - Spring Boot 应用程序,可执行 Jar,使用 Web-Library 作为 Depdenency 和 Maven Depedency Plugin 从 Web-Library 中提取静态文件并将它们复制到自己的静态目录
  • Web-Library - 包含静态 Assets 的库 Jar,例如要与其他模块(例如 Web-App)共享的 css 和 javascript 文件

说明:

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

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

关于java - Spring Boot 共享 web 模块(jar 文件覆盖?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37862552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com