Наведена відповідь передбачає, що проект, про який йде мова, використовує успадкування проекту на додаток до агрегації модулів. Насправді це окремі поняття:
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