Данный ответ предполагает, что рассматриваемый проект использует наследование проекта в дополнение к агрегации модулей. На самом деле это разные понятия:
https://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Inheritance_vs_Project_Aggregation
Некоторые проекты могут представлять собой совокупность модулей, но не иметь отношения родитель-потомок между агрегатором POM и агрегированными модулями. (Отношения между родителями и детьми могут вообще отсутствовать, или дочерние модули могут использовать отдельное POM в качестве «родителя».) В этих ситуациях данный ответ не будет работать.
После долгих чтений и экспериментов выясняется, что есть способ использовать плагин Versions Maven для обновления не только 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