Я думаю, что важно понимать, что в многомодульной сборке maven всегда использует версию из локального репозитория . Это относится и к многомодульным сборкам! Поэтому, когда вы ссылаетесь на «родительский» pom, вы получаете опубликованный родительский артефакт из вашего локального репозитория maven. Поэтому, когда вы делаете mvn install , вы неоднократно публикуете каждый модуль в локальном репо.
При разработке ваши собственные модули , вероятно, имеют версии, аналогичные X.X-SNAPSHOT. Ссылка на родительский помп X.X-SNAPSHOT. Не меняйте их, пока не будете готовы к выпуску.
Итак, простой случай будет:
Перед первым выпуском все модули называются 1.0-SNAPSHOT.
Когда первоначальный выпуск станет «золотой сборкой», переименуйте все модули 1.0-SNAPSHOT в 1.0.
Приступая к разработке версии 1.1, вы меняете все номера версий на 1.1-SNAPSHOT.
И так далее ...
Обычай - работать с версиями моментальных снимков до тех пор, пока вы не выпустите их, после чего номера версий обновляются везде. В повседневной разработке вы не меняете номера версий, потому что выпуски моментальных снимков обрабатываются иначе, чем выпуски жестких версий.
Edit:
После некоторых размышлений я думаю, что некоторая путаница в разделе «комментарии» возникает из-за этого: Номер версии в вашем pom отражает общую версию приложения . Любое данное изменение pom не обязательно изменяет номер версии приложения . Если вам нужно отслеживать изменения в POM, я бы предложил вам использовать систему контроля версий. Таким образом, в течение 3 месяцев, когда вы работаете над версией 1.0, разумно сохранить номер версии 1.0-SNAPSHOT. В течение (например) 3-недельного периода, в течение которого вы работаете в версии 1.1, номер версии - 1.1-SNAPSHOT.