在多模块化maven项目中构建特定模块+有条件的依赖关系

mnemlml8  于 2023-10-17  发布在  Maven
关注(0)|答案(1)|浏览(136)

当运行mvn install -pl "project1, project2, etc." -am -Pmy-profile时,maven将构建指定的模块及其所有依赖项,如果有很多依赖项,这可能需要一段时间。
也就是说,一些正在编译的依赖项(由于-am标志)可能已经存在于本地.m2存储库和/或my-profile中,这使得它们的重新编译无用且通常耗时。
有没有办法指定maven只应该构建一个给定的-am依赖项,如果它不存在于my-profile中,也不存在于.m2本地?
关于潜在重复Maven 2: Only build artifact if not already installed in local repository
在我的例子中,我确实想构建在-pl标志之后引用的项目,不管它们是否已经构建。我的问题是依赖性。另外,这个问题是关于Maven 2的,也许事情已经改变了。

b09cbbtk

b09cbbtk1#

简短回答:Maven作为装运不能做到这一点。一旦你使用-am来指定依赖项应该包含在reactor中(或者通过配置文件包含/排除它们),原始的-pl列表就没有什么特别的了,所以这本质上是Maven 2: Only build artifact if not already installed in local repository的副本,它有一个类似的答案:
简短的回答是:没有理智的方法可以做到这一点,玛文不是这样工作的
使用incremental builds或围绕Maven构建自己的脚本可能会获得更好的结果。您也可以使用概要文件来关注项目的一个子集,但是没有现有的命令行标志或配置选项来获得您所要求的内容。

相关问题