Данный ответ предполагает, что рассматриваемый проект использует наследование проекта в дополнение к агрегации модулей.Фактически это разные понятия:
https://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Inheritance_vs_Project_Aggregation
Некоторые проекты могут представлять собой совокупность модулей, но не иметь отношения родитель-потомок между POM агрегатора и агрегированными модулями.(Отношения между родителями и детьми могут вообще отсутствовать, или дочерние модули могут использовать отдельное POM в качестве «родителя».) В этих ситуациях данный ответ не будет работать.
После длительного чтения и экспериментовоказывается, что есть способ использовать плагин Maven Versions для обновления не только POM-агрегатора, но и всех агрегированных модулей;это опция processAllModules
.Следующая команда должна быть выполнена в каталоге проекта агрегатора:
mvn versions:set -DnewVersion=2.50.1-SNAPSHOT -DprocessAllModules
Плагин Versions Maven не только обновит версии всех содержащихся в нем модулей, но также обновит межмодульные зависимости !!!!Это огромный выигрыш, который сэкономит много времени и предотвратит всевозможные проблемы.
Конечно, не забудьте зафиксировать изменения во всех модулях, что вы также можете сделать с тем же переключателем:
mvn versions:commit -DprocessAllModules
Вы можете решить вообще отказаться от резервного копирования POMS и выполнить все в одной команде:
mvn versions:set -DnewVersion=2.50.1-SNAPSHOT -DprocessAllModules -DgenerateBackupPoms=false