我试图弄清楚如何为 Maven 构建我的项目,但我有点困惑。
如果我有一个项目 A,它可以单独分发和使用,但是我有项目 B(也可以自己分发),它依赖于项目 A 和项目 A 的某种“构建”,应该是 ProjectA 的一个模块吗?然后说我有项目C,它依赖于项目B,那应该是项目B的一个模块吗?
我想我对多模块项目的工作方式感到困惑。
谢谢。
在 Maven 中,你不能有循环依赖。因此,在我看来,最好创建一个不依赖于彼此(或仅依赖于项目 API)的模块,并且创建一个与所有其他模块有依赖关系的模块。您需要对它们进行逻辑结构化,每个模块都必须有某种用途。
例如,模块 A 将拥有您的项目 API,模块 B 将包含项目核心(并且依赖于 A),模块 C 将有其他用途,一些您可以使用的独立类(并且依赖于 A),模块 D将具有其他功能(并且依赖于 A)等等。然后,您可以创建 moduleE,它将依赖于 BC、D 并将使用这些项目中的功能,将包含用户界面并将成为主要的。
如果您不是在寻找简短的描述,那么我建议您通过示例查看 Maven 中的第 7 章:http: //books.sonatype.com/mvnex-book/pdf/mvnex-pdf.pdf