我有一个多模块项目,在根POM中,我有:
<modules>
<module>shared-lib1</module>
<module>shared-lib2</module>
<module>main-app</module>
</modules>
在里面
main-app
模块我列出了我的库,如下所示:
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>lib1</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>lib2</artifactId>
<version>${project.version}</version>
</dependency>
通用构建命令为
mvn deploy -pl <changedList> -am -amd
当我的Jenkins automation检测到push-to分支上的更改时,它会分析从哪个模块更改的文件。因此,仅举个例子
shared-lib1
已更改。
在这种情况下,命令将是
mvn deploy -pl shared-lib1 -am -amd
,这将
主应用程序
进入反应堆项目清单
-amd
选项
但是,它不会恢复
shared-lib2
和
主应用程序
将无法构建。
是否有任何选项可以正确构建树,因此基本上启用
-am
由发现的所有模块的选项
-amd公司
?
UPD:
${project.version}
每次都会更新为包含提交的SHA