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。