one other "best" way is to create a parent pom beside the multimodule pom which will provide a dependency management containing the multimodule project reference with the version of the parent pom it self.
If the multimodule project need one other multimodule project as dependency this will be the best for you.
The parent pom have to be part of the multimodule pom:
my.parent.Pom
my.first.project
my.second.project
my.third.project
And the parent pom should contains the dependency management for your multimodule project
VersionNumber
pom
...
...
${project.groupId}
my.first.project
${project.version}
${project.groupId}
my.second.project
${project.version}
${project.groupId}
my.third.project
${project.version}
All your multimodule project will not define the groupId and the version number because they will got those information from the parent pom and additionally if the project "third" need the dependency my.first.project then the dependency in the project "third" pom file will be:
${project.groupId}
my.first.project
This is the way or we are dealing with the multi module projects and version management.