原型介绍

什么是原型?

简而言之,Archetype 是一个 Maven 项目模板工具包。原型被定义为原始模式或模型,所有其他同类事物都由该模型或模型制成。这个名称适合我们试图提供一个系统,该系统提供生成 Maven 项目的一致方法。Archetype 将帮助作者为用户创建 Maven 项目模板,并为用户提供生成这些项目模板的参数化版本的方法。

使用原型提供了一种很好的方式,可以以与您的项目或组织采用的最佳实践一致的方式快速启用开发人员。在 Maven 项目中,我们使用原型来尝试让我们的用户尽快启动和运行,方法是提供一个示例项目来演示 Maven 的许多特性,同时向新用户介绍 Maven 采用的最佳实践。在几秒钟内,一个新用户就可以拥有一个工作的 Maven 项目,作为一个跳板来研究 Maven 中的更多功能。我们还尝试使 Archetype 机制添加,我们的意思是允许在原型中捕获项目的某些部分,以便可以将项目的部分或方面添加到现有项目中。一个很好的例子是 Maven 站点原型。如果,例如,您已经使用快速启动原型生成了一个工作项目,然后您可以使用该现有项目中的站点原型快速为该项目创建一个站点。你可以用原型做任何这样的事情。

您可能希望在您的组织内标准化 J2EE 开发,因此您可能希望为 EJB、WAR 或 Web 服务提供原型。在您组织的存储库中创建并部署这些原型后,您的组织内的所有开发人员都可以使用它们。

使用原型

要基于 Archetype 创建一个新项目,您需要调用mvn archetype:generategoal,如下所示:

mvn archetype:generate

请参阅原型插件页面

提供的原型

Maven 提供了几个 Archetype 工件:

原型 ArtifactIds 描述
maven-原型-原型 用于生成示例原型项目的原型。
maven-archetype-j2ee-simple 用于生成简化示例 J2EE 应用程序的原型。
maven-archetype-mojo 用于生成示例 Maven 插件示例的原型。
maven 原型插件 用于生成示例 Maven 插件的原型。
maven 原型插件站点 用于生成示例 Maven 插件站点的原型。
maven-archetype-portlet 用于生成示例 JSR-268 Portlet 的原型。
maven 原型快速入门 用于生成示例 Maven 项目的原型。
maven-archetype-simple 用于生成简单 Maven 项目的原型。
Maven 原型站点 用于生成示例 Maven 站点的原型,该站点演示了一些受支持的文档类型,例如 APT、XDoc 和 FML,并演示了如何创建您的站点。
Maven 原型站点简单 用于生成示例 Maven 站点的原型。
maven-archetype-webapp 用于生成示例 Maven Webapp 项目的原型。

有关这些原型的更多信息,请参阅Maven Archetype Bundles 页面

什么构成了原型?

原型被打包在一个 JAR 中,它们由描述原型内容的原型元数据和组成原型项目的一组Velocity模板组成。如果您想知道如何制作自己的原型,请参阅我们的原型创建指南