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