我有三个独立的项目(A,B和C)。可以Maven自动构建未找到的依赖项吗?
项目B和C依赖项目A生成的jar。
如果未找到依赖项,Maven是否有能力自动构建项目A?
到目前为止我发现的答案是指示制作其他2个项目模块(我认为这意味着存储库布局并将它们合并到项目A中)并创建父/子pom。
一个简单的“不”也是我的结论之一。
看来好像是我在B和C中创建项目A的模块,maven并不真的那么喜欢它。 Maven能否在构建时间内看到当前项目范围之外的项目?对不起,如果这有点罗嗦。
我有三个独立的项目(A,B和C)。可以Maven自动构建未找到的依赖项吗?
项目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>
其中,“项目一”等都是父文件夹内的Maven项目文件夹的名称。
父项目必须有<packaging>pom</packaging>
才能正常工作。
然后,您可以构建父项目,并按顺序构建所有子项,也可以使用其中一个高级Maven反应器标志。
例如mvn clean install -pl project-b
将只生成项目B.
欲了解更多信息,请执行mvn --help
并从Maven By Example书中阅读the multi modules chapter。
但这个问题:
确实Maven的具有自动构建一个项目的能力,如果 依赖没有找到?
......答案总是否定的。如果未找到依赖项,Maven会失败,但它永远不会决定要构建哪个项目。您负责哪些项目需要构建。
我知道这个场景有效,我有这个场景的工作。我有的问题是,如果B和C不在普通容器中,那将如何工作? B和C在他们自己的独立容器中。 – ResourceReaper
@JoshGooding这不是如何maven的作品。 Maven不会构建不在当前工作目录内的项目(或者通过模块中的相对路径引用) –