我正在尝试为一个大型(超过 100 个模块)多模块 Maven 项目创建一个程序集。
一些(但不是全部)模块具有需要包含在最终程序集中的各种文件,但我很难弄清楚如何将它们放在那里。
这是一个典型模块的布局:
+- pom.xml
+- src
| +- main
| +- java
| +- ...
| +- resources
| +- ...
| +- scripts
| +- ...
这个模块有 JAR 打包,所以主要的工件是一个 JAR 文件。
这是最终组装的所需格式:
+- bin
| +- <union of all files from src/main/scripts in the various modules>
+- lib
| +- <union of all JAR files produced by the various modules>
我知道如何完成装配结构的lib部分,但我不知道如何完成bin部分。
这篇博文似乎建议每个模块都应该创建自己的程序集(本质上是一个程序集片段),然后这些程序集将由我的实际程序集组件聚合在一起。
这是在Maven中完成的方式吗?它似乎非常重量级和缓慢。有没有不同/更好的方法?
在回答之前,请记住以下事实:
- 该项目使用平面模块结构(如果重要的话)。更改为嵌套结构不是一种选择。
- 我无法将脚本合并到一个模块中。即使我可以有其他任意文件也需要打包到最终程序集中,这些文件不能合并到一个地方(我使用脚本作为一个简单的例子来说明问题)。
- 是的,我认为 100 个模块太多了,但我无法控制。
- 鉴于模块数量众多,我更喜欢不需要修改每个 POM 的解决方案。