什么是Archetype?
简而言之,Archetype是一个Maven项目模板工具包。原型被定义为原始模式或模型,从中创建所有其他相同类型的东西。这个名称适合我们尝试提供一个系统,该系统提供生成Maven项目的一致方法。Archetype将帮助作者为用户创建Maven项目模板,并为用户提供生成这些项目模板的参数化版本的方法。
使用原型提供了一种很好的方法,可以使开发人员以符合项目或组织所采用的最佳实践的方式快速启用。在Maven项目中,我们使用原型来尽可能快地启动和运行我们的用户,提供一个演示Maven的许多功能的示例项目,同时向Maven使用的最佳实践引入新用户。在几秒钟内,一个新用户可以使用一个有效的Maven项目作为跳板来调查Maven中的更多功能。我们还尝试制作Archetype机制添加剂,我们的意思是允许在原型中捕获项目的各个部分,以便可以将项目的各个部分或方面添加到现有项目中。一个很好的例子是Maven站点原型。例如,如果 您已使用快速启动原型生成工作项目,然后可以使用该现有项目中的站点原型快速为该项目创建站点。您可以使用原型执行此类操作。
您可能希望在组织内标准化J2EE开发,因此您可能希望为EJB或WAR或Web服务提供原型。在组织的存储库中创建和部署这些原型后,它们可供组织内的所有开发人员使用。
已有的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工程样例 |
什么构成Archetype?
Archetypes打包在JAR中,它们包含描述原型内容的原型元数据,以及构成原型项目的一组Velocity模板。
如何创建Archetype?
请参考原文:http:///guides/mini/guide-creating-archetypes.html
如何引用自己的Archetype?
第一步:创建maven项目
第二步:选择Archetype
如果是在已有的项目中创建子maven项目,步骤如下:
第一步:创建子maven项目
第二步:填写模块名,确保父类的pom文件中包含packaging值
剩下的步骤和创建新的maven项目的步骤一样。