0

我正在从事三个独立的项目(A、B 和 C)。

项目 B 和 C 依赖于项目 A 生成的 jar。

如果没有找到依赖项,Maven是否有能力自动构建项目A?

到目前为止,我发现的答案表明制作其他 2 个项目模块(我认为这意味着存储库布局并将它们合并到项目 A 中)并创建一个父/子 pom。

一个简单的“不”也是我的结论之一。

好像我在 B 和 C 中制作了项目 A 的模块,maven 并不喜欢那样。Maven 可以在构建期间查看当前项目范围之外的项目吗?对不起,如果这有点罗嗦。

4

1 回答 1

1

如果 A、B 和 C 是公共容器项目的模块,则该方案可以正常工作。

从根 pom.xml:

<modules>
 <module>project-a</module>
 <module>project-b</module>
 <module>project-c</module>
</modules>

其中“project-a”等是父文件夹内的 Maven 项目文件夹的名称。

父项目必须具有<packaging>pom</packaging>此功能。

然后您可以构建父项目,它将按顺序构建所有子项目,或者您可以使用高级 Maven 反应器标志之一。

例如mvn clean install -pl project-b,只会构建项目 B。

有关更多信息,请执行mvn --help并阅读Maven By Example 一书中的多模块章节


但是对于这个问题:

如果没有找到依赖项,Maven是否有能力自动构建项目A?

... 答案始终是否定的。如果找不到依赖项,Maven 会失败,但它永远不会决定要构建哪些项目。你负责哪些项目需要建设。

于 2012-12-05T20:00:30.410 回答