Maven 标签 <module> 和 <parent> 是强制性的吗?

Are maven tags <module> and <parent> are mandatory?

我有一个包含父模块和许多子模块的旧项目。

所有模块都在带有 标签的父 POM 中列出,但在所有子 POM 中,没有 标签。

我在 Maven 文档中找不到说明。 标签是如何工作的?我们可以分开使用吗?

我想添加一个新模块,它将创建一个带有 maven-assembly-plugin 的包,它将从不同的模块中检索多个工件。因此它必须在最后构建......但顺序似乎没有得到遵守。

模块通常将主 POM(定义模块的 POM)作为父级。但这不是强制性的。您可以使用不同的父级或根本不是父级来构建它们。

构建模块的顺序由 Maven 决定。它确保如果 A 依赖于 B,则 B 在 A 之前构建。