The easiest way I've found to do this is to use the pom-root
archetype to create the top-level pom and then repeatedly use archetype:generate
to create each module individually. This will automatically add the modules to the root pom (aggregator) and set the root pom as the parent pom for each module (edit: apparently some archetypes can have a hard-coded parent, but it works for maven-archetype-quickstart
).
Here's the breakdown:
Create the top-level root:
mvn archetype:generate
-DarchetypeGroupId=org.codehaus.mojo.archetypes
-DarchetypeArtifactId=pom-root
-DarchetypeVersion=RELEASE
cd
into your newly created root dir.
For each module:
mvn archetype:generate
-DarchetypeGroupId=org.apache.maven.archetypes
-DarchetypeArtifactId=maven-archetype-quickstart
-DarchetypeVersion=RELEASE
Note that -DarchetypeVersion=RELEASE
above will automatically use the latest version of the archetype. You may want to add -DgroupId=...
to each of those commands to avoid repeating yourself.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…