La réponse donnée suppose que le projet en question utilise l'héritage de projet en plus de l'agrégation de modules. En fait, ce sont des concepts distincts:
https://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Inheritance_vs_Project_Aggregation
Certains projets peuvent être une agrégation de modules, mais n'ont pas de relation parent-enfant entre l'agrégateur POM et les modules agrégés. (Il peut n'y avoir aucune relation parent-enfant, ou les modules enfants peuvent utiliser un POM distinct en tant que "parent".) Dans ces situations, la réponse donnée ne fonctionnera pas.
Après beaucoup de lecture et d'expérimentation, il s'avère qu'il existe un moyen d'utiliser le plugin Versions Maven pour mettre à jour non seulement l'agrégateur POM mais aussi tous les modules agrégés; c'est l' processAllModules
option. La commande suivante doit être effectuée dans le répertoire du projet agrégateur:
mvn versions:set -DnewVersion=2.50.1-SNAPSHOT -DprocessAllModules
Le plugin Versions Maven ne mettra pas seulement à jour les versions de tous les modules contenus, il mettra également à jour les dépendances inter-modules !!!! C'est une victoire énorme et vous fera gagner beaucoup de temps et éviter toutes sortes de problèmes.
Bien sûr, n'oubliez pas de valider les modifications dans tous les modules, ce que vous pouvez également faire avec le même commutateur:
mvn versions:commit -DprocessAllModules
Vous pouvez décider de supprimer complètement les POMS de sauvegarde et de tout faire en une seule commande:
mvn versions:set -DnewVersion=2.50.1-SNAPSHOT -DprocessAllModules -DgenerateBackupPoms=false