简单的说,Archetype是Maven工程的模板工具包。一个Archetype定义了要做的相同类型事情的初始样式或模型。这个名称给我们提供来了一个一致的生成Maven工程的方式。Archetype会帮助作者给用户创建Maven工程模板,并给用户提供生成相关工程模板版本的参数化方法。
使用Archetype提供的好的方法,是开发者能够使用最佳实践来快速的构建和组织一致化的工程。在Maven工程中,我们努力使用Archetype来尽可能快的给用户提供示例工程,同时也会把Maven的最佳实践介绍给新的用户。一个新的用户可以使用工作中的Maven工作作为跳板来研究更过的Maven中功能。我们也可以使用Archetype的添加机制,这样就意味着允许我们抓取Archetype中项目片段,并把它们添加到既存的工程中。Maven网站的Archetype就是很好的例子。例如,你可以使用“quick start archetype”来生成一个工程,然后就可以通过其中既存的“site archetype”来快速的创建一个网址工程。你能够使用Archetype来做很多这样的事情。
在你的团队中可能想要标准化的J2EE开发,这需要你提供EJBs、或者是WARs、或者是Web services的原型。一旦在你团队资源库中创建和部署这些原型,它们就可以在你团队内共享使用。
如何使用Archetype要基于Archetype来创建一个新的工程,需要像下面示例这样来调用:
mvn archetype:generate
已有的Archetypes
Archetype ID
说明
maven-archetype-archetype
一个样例原型
maven-archetype-j2ee-simple
简单的J2EE应用程序样例
maven-archetype-mojo
Maven插件样本的示例
maven-archetype-plugin
Maven插件样本
maven-archetype-plugin-site
Mave插件网站的样例
maven-archetype-portlet
JSR-268门户样例
maven-archetype-quickstart
Maven工程样例
maven-archetype-simple
一个简单的Maven工程
maven-archetype-site
Maven网站的样例,它演示了对诸如APT、XDoc和FML等文档类型的支持,并演示了如果把网站国际化(i18n)
maven-archetype-site-simple
Maven网站样例
maven-archetype-webapp
Maven的Webapp工程样例
常用Archetype1,maven-archetype-quickstart
默认的Archetype,基本内容包括:一个包含junit依赖