我有一个包含70多个模块的多模块项目,要花3小时才能构建带有测试的项目。
父pom.xml
...
<version>${revision}</version>
<properties>
<app.version>1.0</app.version
<properties>
.....
<modules>
<module>a<module>
<module>b<module>
<module>c<module>
.....
...
子pom.xml
<parent>
<groupId>com.test</groupId>
<artifactId>parent</artifactId>
<version>${revision}</version>
</parent>
<artifactId>b</artifactId>
仅当我们更改父pom.xml中的版本号时,才如何仅构建模块b
答案 0 :(得分:0)
将父POM升级到新版本(以及在b
的{{1}}中对其的引用)之后,可以运行:
pom.xml
在Maven的帮助下:
mvn --projects b <maven_phase_you_want> # or mvn -pl b [...]
但是,仅当您的父POM的旧版本已在本地存储库中或至少已可用(已在存储库管理器中部署)时,这才起作用。否则,您将收到错误消息,因为即使指定-pl,--projects <arg> Comma-delimited list of specified
reactor projects to build instead
of all projects. A project can be
specified by [groupId]:artifactId
or by its relative path
,Maven也会尝试解析其他模块--projects b
和a
的父POM(他找不到)。 / p>