在我的项目中,我们获得了一个示例项目结构,我对多模块项目非常陌生。
我们有一个父项目和4个子项目,将其作为父项。
在父项目中,这4个中只有3个被配置为模块。
将项目作为子项而不是作为父项目的模块有什么区别/意义?
除了依赖关系管理,我们通过使用多模块项目层次结构实现了什么?
答案 0 :(得分:2)
1)“父子关系”有助于管理依赖关系。在您的公司(或项目)中说,您有一些几乎所有项目(或子项目)都需要依赖的常用库,或者您有一个标准的构建配置。您最好将这些公共依赖项和构建配置放在父pom中,以便所有子项都可以从父级继承。这与OOP中的继承非常相似。
2)如果一个项目可以分成许多模块,并且这些模块彼此高度耦合。这意味着在大多数情况下,它们会被修改并一起构建,并且它们都不能被拆分为其他项目的库。然后,您可以将它们声明为多模块maven项目的模块。
但就个人而言,我不太推荐多模块maven项目,因为它不灵活,构建和使用IDE,CI或其他工具更复杂。