Hello, A couple days ago I submitted a question on Stack Overflow about this topic. It can be found here <https://stackoverflow.com/questions/71329400/remove-snapshot-from-all-maven-sub-modules-but-honor-version>. For the purposes of preserving this conversation, I will also provide my question below, along with some things I've found along the way. The commenter mentioned that the version of all modules within a multi-module project should be the same to drop -SNAPSHOT with the mvn versions:set command. Furthermore, a section in the POM file title Aggregation (or Multi-Module) <https://maven.apache.org/pom.html#aggregation-or-multi-module> seems to provide some insight into what's going on, but my inferences might be incorrect about versions needing to be consistent based on the content in that section.
So, what is the official practice for versions of sub-modules in a multi-module project? Should all versions be the same as the version in the parent POM? If it's acceptable for sub-module versions to be different, how does one accomplish stripping -SNAPSHOT from all modules (preferably with a Maven plugin versus running commands to iterate over all sub-directories to find child POMs and drop -SNAPSHOT from each)? Thank you. Mike --- I am working on a multi-module project. For the purposes of this exercise we can assume there are two sub-modules. The articles Maven Simple Project Archetype <https://maven.apache.org/archetypes/maven-archetype-simple/> and Create an archetype from a multi-module project <https://maven.apache.org/archetype/maven-archetype-plugin/examples/create-multi-module-project.html> can be referenced to follow along. Parent - 1.0.0-SNAPSHOT ChildA - 1.2.3-SNAPSHOT ChildB - 1.0.0-SNAPSHOT When I run mvn versions:set -D removeSnapshot -D processAllModules I expect the versions to change as indicated below. Parent - 1.0.0 ChildA - 1.2.3 ChildB - 1.0.0 But, it seems -SNAPSHOT is stripped from all versions except the children that have a different version from the parent. Parent - 1.0.0 ChildA - 1.2.3-SNAPSHOT ChildB - 1.0.0 Is there any way to run the mvn versions:set command to honor the version number, while stripping the -SNAPSHOT postfix? ------------------------------ *UPDATE #1* Running mvn versions:set -D removeSnapshot=true yields the same results as running mvn versions:set -D removeSnapshot -D processAllModules. Parent - 1.0.0 ChildA - 1.2.3-SNAPSHOT ChildB - 1.0.0