如果父pom有一些更改,则构建子模块而不构建父模块

时间:2019-03-29 16:07:10

标签: maven maven-3

我有一个包含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

1 个答案:

答案 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 ba的父POM(他找不到)。 / p>