18.1.3 批处理方式使用Archetype
有时候用户可能不希望以交互的方式使用Archetype,例如当创建Maven项目的命令在一段自动化的Shell脚本中的时候,交互的方式会破坏自动化。这时用户可以使用mvn命令的-B选项,要求maven-archetype-plugin以批处理的方式运行。不过,这时用户还必须显式地声明要使用的Archetype坐标信息,以及要创建项目的groupId、artifactId、version、package等信息。例如:
DarchetypeGroupId = org.apache.maven.archetypes \
DarchetypeArtifactId = maven - archetype - quickstart \
DarchetypeVersion =1.0 \
DgroupId = com.juvenxu.mvnbook \
DartifactId = archetype - test \
Dversion =1.0 - SNAPSHOT \
Dpackage = com.juvenxu.mvnbook
[INFO] Scanning for projects…
[INFO]
[INFO] ----------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ----------------------------------------------------------------------
[INFO]
[INFO] > > > maven - archetype - plugin:2.0 - alpha - 5:generate (default - cli) @
standalone - pom > > >
[INFO]
[INFO] < < < maven - archetype - plugin:2.0 - alpha - 5:generate (default - cli) @
standalone - pom < < <
[INFO]
[INFO] ---maven - archetype - plugin:2.0 - alpha -5:generate (default - cli) @ standalone
- pom ---
[INFO] Generating project in Batch mode
[INFO] Archetype repository missing. Using the one from [org.apache.maven. archetypes:
maven - archetype - quickstart:1.0] found in catalog remote
[INFO] -----------------------------------------------------------------------
[INFO] Using following parameters for creating OldArchetype: maven - archetype -
quickstart:1.0
[INFO] -----------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.juvenxu.mvnbook
[INFO] Parameter: packageName, Value: com.juvenxu.mvnbook
[INFO] Parameter: package, Value: com.juvenxu.mvnbook
[INFO] Parameter: artifactId, Value: archetype - test
[INFO] Parameter: basedir, Value: D:\tmp\archetype
[INFO] Parameter: version, Value: 1.0 - SNAPSHOT
[INFO] * End of debug info from resources from
generated POM *
[INFO] OldArchetype created in dir: D:\tmp\archetype\archetype - test
[INFO] ----------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ----------------------------------------------------------------------
[INFO] Total time: 2.624s
[INFO] Finished at: Wed Apr 28 14:34:32 CST 2010
[INFO] Final Memory: 6M/11M
[INFO] ----------------------------------------------------------------------
该例中的Archetype的坐标为org.apache.maven.archetypes:maven-archetype-quckstart:1.0,而真正要创建的项目坐标则为com.juvenxu.mvnbook:archetype-test:1.0-SNAPSHOT。