18.1.2 使用Archetype的一般步骤
3.5节推荐用户在使用Archetype插件的时候输入完整的插件坐标,以防止Maven下载最新的不稳定快照版本。然而这种情况只是对于Maven 2用户存在,在Maven 3中,如果插件的版本未声明,Maven只会自动解析最新的发布版,因此用户不用担心引入快照版本带来的问题。以下是两条命令的对比:
Maven 3:mvn archetype:generate
Maven 2:mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-5:generate输入上述命令后,Archetype插件会输出一个Archetype列表供用户选择。例如:
Choose archetype:
1:internal->appfuse-basic-jsf(AppFuse archetype for creating a web applica-
tion with Hibernate,Spring and JSF)
2:internal->appfuse-basic-spring(AppFuse archetype for creating a web ap-
plication with Hibernate,Spring and Spring MVC)
3:internal->appfuse-basic-struts(AppFuse archetype for creating a web ap-
plication with Hibernate,Spring and Struts 2)
4:internal->appfuse-basic-tapestry(AppFuse archetype for creating a web ap-
plication with Hibernate,Spring and Tapestry 4)
5:internal->appfuse-core(AppFuse archetype for creating a jar application
with Hibernate and Spring and XFire)
6:internal->appfuse-modular-jsf(AppFuse archetype for creating a modular
application with Hibernate,Spring and JSF)
7:internal->appfuse-modular-spring(AppFuse archetype for creating a modu-
lar application with Hibernate,Spring and Spring MVC)
8:internal->appfuse-modular-struts(AppFuse archetype for creating a modu-
lar application with Hibernate,Spring and Struts 2)
9:internal->appfuse-modular-tapestry(AppFuse archetype for creating a modu-
lar application with Hibernate,Spring and Tapestry 4)
10:internal->makumba-archetype(Archetype for a simple Makumba application)
11:internal->maven-archetype-j2ee-simple(A simple J2EE Java application)
12:internal->maven-archetype-marmalade-mojo(A Maven plugin development
project using marmalade)
13:internal->maven-archetype-mojo(A Maven Java plugin development project)
14:internal->maven-archetype-portlet(A simple portlet application)
15:internal->maven-archetype-profiles()
16:internal->maven-archetype-quickstart()
……
这个列表来自于名为archetype-catalog.xml的文件,18.3节将对其进行深入解释。现在,用户需要选择自己想要使用的Archetype,然后输入其对应的编号。
由于Archetype只是一个模板,为了保持模板的通用性,它的很多重要内容都是可配置的。因此,在用户选择了一个Archetype之后,下一步就需要提供一些基本的参数。主要有:
groupId:想要创建项目的groupId。
artifactId:想要创建项目的artifactId。
version:想要创建项目的version。
package:想要创建项目的默认Java包名。
上述参数是Archetype插件内置的,也是最常用和最基本的。用户在自己编写Archetype的时候,还可以声明额外的配置参数。
根据Maven提示填写完配置参数之后,Archetype插件就能够生成项目的骨架了。