Maven uppdate версия модуля и зависимостей в модулях, которые его используют - PullRequest
0 голосов
/ 01 марта 2019

Я борюсь с обновлением версии модуля.Мой проект огромен (около 50 модулей), но я упросту его для примера.

-moduleA
  -moduleA1
    -pom.xml
  -pom.xml
-moduleB
  -moduleB1
    -pom.xml
  -pom.xml
-pom.xml

Что я хочу сделать.Предположим, одна версия в каждом pom.xml - 5.0.0.Модуль A1 pomx выглядит так:

<parent>
    <groupId>com.sample.project</groupId>
    <artifactId>moduleA</artifactId>
    <version>5.0.0</version>
</parent>
<groupId>com.sample.project.moduleA</groupId>
<artifactId>moduleA1</artifactId>
<version>5.0.0</version>

Теперь я хочу увеличить версию модуля A1.Итак ...

mvn -N versions:set -DnewVersion=5.0.1 -DgroupId=com.sample.project.moduleA -DartifactId=moduleA1

ModuleB1 имеет зависимость от moduleA1

<parent>
    <groupId>com.sample.project</groupId>
    <artifactId>moduleB1</artifactId>
    <version>5.0.0</version>
</parent>
<groupId>com.sample.project</groupId>
<artifactId>moduleB1</artifactId>
<version>5.0.0</version>
<dependency>
        <groupId>com.sample.project.moduleA</groupId>
        <artifactId>moduleA1</artifactId>
        <version>5.0.0</version>
</dependency>

Версия этой зависимости должна обновляться, но это только в первый раз *, когда версия совпадает с версиейродитель).Если я хочу обновить его до 5.0.2, эта зависимость не будет изменена, она останется 5.0.1 (только указанный модуль A1 будет обновлен до 5.0.2). Я попытался использовать зависимостьManegement, но результат был точно таким же.Есть идеи, как заставить maven обновить указанный модуль и зависимости его модуля от других модулей?

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Наконец я нашел решение.Ключ должен установить параметр oldVersion к предыдущей версии.В противном случае версия: set будет использовать $ {project.version}, и таким образом обновление версии будет работать впервые, потому что версия модуля такая же, как project.version.

0 голосов
/ 01 марта 2019

Используйте ${project.version} во всех зависимостях модуля, и у вас есть постоянные и актуальные версии.

...