无法理解maven模块和父项目

时间:2013-11-03 12:03:34

标签: java maven

我正在试图弄清楚如何为Maven构建我的项目,我变得有点困惑。

如果我有一个项目A,可以单独分发和使用,但是我有项目B(也可以单独分发),这取决于项目A和项目的“建立” A,应该是ProjectA的一个模块吗?那么说我有项目C,它取决于项目B,应该是项目B的模块吗?

我想我对多模块项目的工作原理感到困惑。

感谢。

2 个答案:

答案 0 :(得分:1)

如果您不想寻找简短描述,我建议您通过示例查看Maven中的第7章: http://books.sonatype.com/mvnex-book/pdf/mvnex-pdf.pdf

答案 1 :(得分:1)

在Maven中,您不能拥有循环依赖关系。因此,在我看来,创建不依赖于彼此(或仅在项目API上)的模块以及将具有来自所有其他模块的依赖项的模块会更好。您需要逻辑结构化它们,每个模块都必须有一些目的。

例如,模块A将包含项目API,模块B将包含项目核心(并且依赖于A),模块C将具有其他目的,一些可以使用的独立类(并且依赖于A) ,模块D将具有其他功能(并依赖于A),依此类推。然后,你可以创建moduleE,它将依赖于B C,D并将使用这些项目的功能,将包含用户界面,并将成为主要的。