2014-02-26 80 views
0

在我的项目中,我们给出了一个示例项目结构要遵循,我对多模块项目很新。maven亲子多模块项目

我们有一个父项目和4个子项目。

而在父项目中,只有3个被配置为模块。

将项目作为孩子而不是作为父项目的模块有什么区别/意义?

除依赖管理之外,我们通过使用多模块项目层次结构实现了什么?

回答

2

1)“亲子关系”有助于管理依赖关系。在公司(或项目)中说,几乎所有的项目(或子项目)都需要依赖一些常用的库,或者您有一个标准的构建配置。你最好把这些常见的依赖关系和构建配置在你的父pom中,这样所有的孩子都可以从父母继承。这在OOP中很像继承。

2)如果一个项目可以分成很多模块,并且这些模块高度相互耦合。这意味着在大多数情况下,它们被修改并构建在一起,并且它们中的任何一个都不能作为其他项目的库来拆分。然后,您可以将它们声明为多模块maven项目的模块。

但个人而言,我并不推荐多模块maven项目,因为它不灵活,而且使用IDE,CI或其他工具进行构建和使用时并不灵活和复杂。