【发布时间】:2020-12-13 10:07:38
【问题描述】:
我参与的项目由一个主模块和 4 个其他模块组成,每个模块都有自己的 pom
- 主要
- B
- C
- D
- 网络
主模块在 DependencyManagement 的 POM 中列出了所有依赖项以及版本。 其余的仅包括其 POM 上的 Dependencies 中的库没有版本号。
Web 模块是我们作为 WAR 导出的模块,它在生成时会在 META-INF 中包含其 POM。
场景 1
有没有办法生成一个不包含所有 jar 的 WAR 文件,除了对应于其他模块的那些?
我看到一些解决方案提到添加 Maven EAR 定义,但这是一个艰苦的过程,而且总体上不会产生更小的项目文件。
场景 2
否则,如果没有办法通过POM实现,有没有办法至少将主模块中包含的版本号反映到WAR的META-INF pom上?
在这种其他情况下,至少我可以通过脚本删除 jar 文件,然后在目标计算机上运行 copy-dependencies maven 命令,而不是花费额外的时间来发送可能在那里的 jar 文件。
【问题讨论】:
标签: java maven jar pom.xml war