在多模块maven项目中构建特定模块+有条件地依赖

问题描述 投票:0回答:1

这个问题是定义模块列表的扩展,该列表应在Maven多项目构建中构建


运行

mvn install -pl "project1, project2, etc." -am -Pmy-profile
时,maven将构建指定的模块和所有它们的依赖项,如果依赖项很多,这可能需要一段时间。

话虽这么说,一些正在编译的依赖项(由于

-am
标志)可能已经存在于本地
.m2
存储库和/或
my-profile
中,导致它们的重新编译毫无用处并且通常很耗时。

有什么方法可以指定maven只应构建给定的

-am
依赖项(如果它既不存在于
my-profile
中也不存在于本地
.m2
中吗?

maven build maven-3
1个回答
0
投票

简短回答:Maven 出厂时无法执行此操作。一旦您使用

-am
指定依赖项应包含在反应器中(或通过配置文件包含/排除它们),原始
-pl
列表就没有什么特别的了,因此这本质上是 Maven 2 的重复:仅构建工件如果尚未安装在本地存储库中,它与此有类似的答案:

简短的回答是:没有明智的方法可以做到这一点,Maven 不会那样工作。

您可以通过使用增量构建或围绕 Maven 构建您自己的脚本来获得更好的结果。您还可以利用配置文件来专注于项目的子集,但没有现有的命令行标志或配置选项来获取您所要求的内容。

© www.soinside.com 2019 - 2024. All rights reserved.