Я не знаю, что-то упустил, но у меня проблема с плагином Codehaus версии для Maven.Вот упрощение моей ситуации:
'root'является агрегатором POM, то есть объявляет moduleA и moduleB как дочерние modules , а A и B оба имеют root как parent .
И A, и B зависят от project-C , но версия этой зависимости определена в свойстве - скажем <project-C.version>
- не в жестком коде.Это свойство определено в root , поэтому и A, и B наследуют одно и то же значение версии для project-C.
В корневом POM:
<properties>
<project-C.version>1.0</project-C.version>
В модуле Aи B (помните, root является родительским):
<dependency>
<groupId>com.blah</groupId>
<artifactId>project-C</artifactId>
<version>${project-C.version}</version>
</dependency>
Теперь, скажем, доступна более новая версия 1.1-SNAPSHOT проекта C.Я хочу использовать плагин версии , чтобы показать это мне, поэтому я запускаю:
$ cd /projects/root
$ mvn versions:display-property-updates -DallowSnapshots=true
, но все, что я получаю, это что-то вроде этого:
[INFO] Building root
[INFO] This project does not have any properties associated with versions
[INFO] Building moduleA
[INFO] This project does not have any properties associated with versions
[INFO] Building moduleB
[INFO] This project does not have any properties associated with versions
Это не имеет значения, если я запускаю его на root, moduleA или moduleB: это всегда говорит об этом.Конечно, это работает, если я жестко закодирую номер версии Project-C в зависимостях.
Итак, в заключение: я хочу централизовать версии зависимостей как свойства в корневом POM (агрегаторе / родительском) POM и хочу версии плагин для выбора целей для работы со свойствами, а именно:
- display-property-updates
- update-properties
Как мне это сделать?Я что-то пропустил?Это ошибка в плагине версий?