【发布时间】:2018-08-13 19:27:02
【问题描述】:
我有一个多模块 maven 项目,用于生成单个 spring boot fat jar。我的项目看起来像这样。
- Parent Module Aggergator
- A
- B
- C
- app <-- app.jar is the only thing I want to publish
在我的情况下,模块 A、B、C 仅由应用程序使用,不应发布到 maven 存储库中。我已将应用程序拆分为多模块项目,因为它在应用程序中有很多代码,并且可以以这种方式工作。
目前app.jar 将在其中包含a.jar, b.jar c.jar。
有没有办法告诉 maven 从模块 A、B、C 编译的类应该插入到 app.jar 类文件夹中,而无需生成 A.JAR、B.JAR、C.JAR?
【问题讨论】:
-
我认为 Maven Shade 插件通过提取所有依赖 jar 的内容然后创建一个包含所有内容的单个 JAR 文件来创建一个 JAR 文件 - 但这并不是你想要的。 ..
-
问题是:将A、B、C jar 部署到maven repo 有什么问题?您正在部署生成的 app.jar 吗?远离配置而不是约定会使维护这些东西变得更加困难,并且让其他人更难理解......