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