这个问题是this SO questions的扩展,但在我的情况下,我不仅有模块,但它们是嵌套的,嵌套模块有什么好处。例如,如果你有像这样的结构
parent
|-> child1
| - > child2
|-> child3
|-> child4
|-> child5
你愿意吗?
parent
|-> child1
|-> child2
|-> child3
|-> child4
|-> child5
两种方法的优点和缺点是什么。
当你想为多个子项目执行maven命令而不必关心构建的顺序时,多模块项目结构是很好的。(哪一个依赖于其他项目是自动处理的)例如:安装所有模块或生成所有模块的javadocs。
父母结构是有益的;从父母链继承依赖,插件等。在你提供的示例中,child5将依赖于它的父链已经定义的每个依赖项。(在它们的<dependencies>
标记中)但是作为一个好东西,child5不必指定其父项链在<dependencyManagement>
标记中定义的依赖项版本。
如果您的孩子1个孩子负责不同的业务逻辑(因此将具有非常广泛的依赖性),则应使用多模块。
最受欢迎的maven项目spring-boot之一具有这两个概念。我建议你看看https://github.com/spring-projects/spring-boot/tree/master/spring-boot-project