Сборка дочернего модуля без сборки родительского модуля, если есть некоторые изменения в родительском pom - PullRequest
0 голосов
/ 29 марта 2019

У меня есть многомодульный проект с более чем 70 модулями, и для сборки проекта с тестами требуется 3 часа.

Parent pom.xml

 ...
   <version>${revision}</version>
   <properties>
      <app.version>1.0</app.version
   <properties>
   .....
   <modules>
     <module>a<module>
     <module>b<module>
     <module>c<module>
   .....
 ...

Child pom.xml

 <parent>
    <groupId>com.test</groupId>
    <artifactId>parent</artifactId>
    <version>${revision}</version>
</parent>
<artifactId>b</artifactId>

Как собрать только модуль b, только если мы изменим номер версии в родительском pom.xml

1 Ответ

0 голосов
/ 01 апреля 2019

После обновления родительского POM до новой версии (и ссылки на него в b s pom.xml) вы можете запустить:

mvn --projects b <maven_phase_you_want> # or mvn -pl b [...]

Из справки Maven:

-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

Однако это работает, только если старая версия вашего родительского POM уже находится в вашем локальном хранилище или, по крайней мере, доступна (она была развернута в менеджере хранилища).В противном случае вы получите ошибку, потому что, даже если указать --projects b, Maven попытается разрешить родительский POM (который он не найдет) для других модулей a и c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...