我正在处理三个独立的项目(A、B 和 C)。
项目 B 和 C 依赖于项目 A 生成的 jar。
如果没有找到依赖,Maven是否有能力自动构建项目A?
到目前为止我找到的答案表明制作其他 2 个项目模块(我认为这意味着存储库布局并将它们合并到项目 A 中)并创建一个父/子 pom.xml。
简单的“不”也是我的结论之一。
似乎如果我在 B 和 C 中创建项目 A 的模块,maven 并不真正喜欢那样。 Maven 能否在构建期间看到当前项目范围之外的项目?抱歉,如果有点啰嗦。
最佳答案
如果 A、B 和 C 是公共(public)容器项目的模块,则该场景可以正常工作。
来自根 pom.xml:
<modules>
<module>project-a</module>
<module>project-b</module>
<module>project-c</module>
</modules>
其中“project-a”等是父文件夹内的 maven 项目文件夹的名称。
父项目必须有<packaging>pom</packaging>
为此。
然后您可以构建父项目,它将按顺序构建所有子项目,或者您可以使用高级 Maven react 器标志之一。
例如mvn clean install -pl project-b
只会构建项目 B。
有关更多信息,请执行mvn --help
并阅读the multi modules chapter摘自《Maven By Examples》一书。
但是对于这个问题:
Does Maven have the ability to automatically build project A if the dependency is not found?
...答案始终是否定的。如果未找到依赖项,Maven 将失败,但它永远不会决定构建哪些项目。您负责哪些项目需要 build 。
关于maven - Maven可以自动构建找不到的依赖吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13731007/