Pet peeve, I admit, but... Currently, you have to run mvn install before you can run mvn site (or do aggregate javadocs, etc) when you change versions. That's...annoying. And unnecessary. The way to fix this is to split the current parent+top-level POM into two - a parent POM that everything inherits from, which has the dependency management, common plugin definitions, profiles, etc, and a top-level POM that serves as the root of the reactor (i.e., has the module list in it), has the aggregate-specific logic in it (i.e., assembly stuff, site stuff, the like), and itself inherits from the parent POM.