我正在从事三个独立的项目(A、B 和 C)。
项目 B 和 C 依赖于项目 A 生成的 jar。
如果没有找到依赖项,Maven是否有能力自动构建项目A?
到目前为止,我发现的答案表明制作其他 2 个项目模块(我认为这意味着存储库布局并将它们合并到项目 A 中)并创建一个父/子 pom。
一个简单的“不”也是我的结论之一。
好像我在 B 和 C 中制作了项目 A 的模块,maven 并不喜欢那样。Maven 可以在构建期间查看当前项目范围之外的项目吗?对不起,如果这有点罗嗦。
我正在从事三个独立的项目(A、B 和 C)。
项目 B 和 C 依赖于项目 A 生成的 jar。
如果没有找到依赖项,Maven是否有能力自动构建项目A?
到目前为止,我发现的答案表明制作其他 2 个项目模块(我认为这意味着存储库布局并将它们合并到项目 A 中)并创建一个父/子 pom。
一个简单的“不”也是我的结论之一。
好像我在 B 和 C 中制作了项目 A 的模块,maven 并不喜欢那样。Maven 可以在构建期间查看当前项目范围之外的项目吗?对不起,如果这有点罗嗦。
如果 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 会失败,但它永远不会决定要构建哪些项目。你负责哪些项目需要建设。