我正在处理三个独立的项目(A,B和C)。
项目B和C依赖于项目A生成的jar。
如果找不到依赖项,Maven是否能够自动构建项目A?
我到目前为止找到的答案表明制作了其他2个项目模块(我认为这意味着存储库布局并将它们合并到项目A中)并创建父/子pom。
一个简单的“不”也是我的结论之一。
好像我在B和C中制作了项目A的模块,maven并不是那么喜欢。 Maven可以在构建期间看到超出当前项目范围的项目吗?对不起,如果那有点罗嗦。
答案 0 :(得分:1)
如果A,B和C是公共容器项目的模块,则该方案可以正常工作。
从root pom.xml:
<modules>
<module>project-a</module>
<module>project-b</module>
<module>project-c</module>
</modules>
其中“project-a”等是父文件夹中maven项目文件夹的名称。
父项目必须<packaging>pom</packaging>
才能生效。
然后你可以构建父项目,它将按顺序构建所有子项,或者你可以使用一个高级Maven反应器标志。
e.g。 mvn clean install -pl project-b
只会构建项目B.
有关详情,请执行mvn --help
并阅读Maven By Example图书中的the multi modules chapter。
但对于这个问题:
Maven是否有能力自动构建项目A. 找不到依赖?
......答案总是没有。如果找不到依赖项,Maven会失败,但它永远不会决定要构建哪些项目。您负责哪些项目需要建设。