Maven的Archetype简介

Archetype:骨架的意思。

Archetype是什么?

简单的说,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工程样例

常用Archetype:

1,maven-archetype-quickstart
  默认的Archetype,基本内容包括:

    一个包含junit依赖声明的pom.xml
    src/main/java主代码目录及一个名为App的类
    src/test/java测试代码目录及一个名为AppTest的测试用例

2,maven-archetype-webapp
  一个最简单的Maven war项目模板,当需要快速创建一个Web应用的时候可以使用它。生成的项目内容包括:

    一个packaging为war且带有junit依赖声明的pom.xml
    src/main/webapp/目录
    src/main/webapp/index.jsp文件
    src/main/webapp/WEB-INF/web.xml文件

文章转自:LinkinPark

文章出自:艺意

时间: 2024-12-22 23:28:45

Maven的Archetype简介的相关文章

如何使用Maven的archetype快速生成一个新项目(解决生成项目目录不完整问题)

Maven的archetype Plugin可能大家都听过,但不一定都能很好地用好它.缺省地如果你使用 mvn archetype:generate 会从maven的Repository里查找所有支持的arche types,大概有500~600个.正因为是太多了,所以查找起来很是不方便. 其实平时常用的arche type也就那么几个.像我会用到的: 1.simple start 2. web app 3. Groovy basic 很自然的就会考虑,是不是能什么简便的方法只需要从这3个组成的

手写Maven的archetype项目脚手架

一.背景 maven是一个很好的代码构建工具,采用“约定优先于配置”的原则进行项目管理,相信很多的java开发者应该都了解maven并可能在工作当中都是通过maven来管理项目的,在创建的项目的时候,我们往往会使用maven内置的项目骨架也就是archetype来快速生成项目结构.但是在一个团队做开发的过程中,可能仅仅依靠maven预先提供的archetyp可能是不够的,团队之间协作有自己的定义方式,每个人的结构定义风格也不尽相同,在这样的背景下我们有必要去定义一个统一的代码骨架供团队使用,这样

如何创建Maven的Archetype

原文:http://maven.apache.org/guides/mini/guide-creating-archetypes.html 创建Maven的Archetype是一个相当直接的过程.一个Archetype就是一个非常简单的作品,它包含了你所希望的工程的原型.一个Archetype的组成如下: ?  一个原型描述符(它是位于src/main/resources/META-INF/maven/目录中的archetype.xml文件).这个文件中列出了该原型中包含的所有文件,并且对它们进

Maven Archetype简介以及搭建

为什么会写这篇文章,因为公司先在构建项目骨架都是用的 maven archetype ,身为一个上进的渣渣猿,自己还是有必要了解下这个东西的. Archetype介绍 Archetype 是一个 Maven 项目模板工具包.原型被定义为原始模式或模型,从中创建所有其他相同类型的东西.这些名称适合我们尝试提供一个系统,该系统提供生成Maven项目的一致方法.Archetype 将帮助作者为用户创建 Maven 项目模板,并为用户提供生成这些项目模板的参数化版本的方法.-- 摘自官网 Archety

使用maven创建Archetype

Archetype原型 也就是说为项目生成一个原型,可以把这个项目发布,其他人就可以直接通过命令构建一个原型项目了. 其实我一开始也是不知道maven还有这个功能的,但是在使用的springside的构建项目时候,发现这个功能很好用,就在想,到底是怎么做的呢,后来我就在网上搜索到了这个, 下面就做一个记录. 原文链接 创建archetype是一个非常简单的过程.archetype就是一个非常简单的构件,它包含了你想创建的工程的模型.archetype由这些东西组成: 一个archetype描述符

Maven自定义Archetype

Maven提供了archetype帮助我们快速构建项目骨架,很便捷.但是,中央仓库中的archetype版本过于陈旧,构建好项目后,需要修改很多信息,甚是麻烦,那么如何自定义个archetype就显得很有必要. 自定一个archetype须遵循以下步骤: 1.手工搭建好一个完善的工程: 2.进入工程目录,保留src和pom.xml,删除其他文件: 3.执行指令mvn archetype:create-from-project 此时会自动生成target目录: 4.执行指令cd target/ge

Maven自定义Archetype(zz)

原文地址:http://www.cnblogs.com/javalouvre/p/5858162.html Maven提供了archetype帮助我们快速构建项目骨架,很便捷.但是,中央仓库中的archetype版本过于陈旧,构建好项目后,需要修改很多信息,甚是麻烦,那么如何自定义个archetype就显得很有必要. 自定一个archetype须遵循以下步骤: 1.手工搭建好一个完善的工程: 2.进入工程目录,保留src和pom.xml,删除其他文件: 3.执行指令mvn archetype:c

idea maven mvn archetype:generate 速度缓慢问题

maven 骨架生成项目速度慢的令人发指,都在Generating project in Batch mode等待,Idea状态显示栏还在不行runing,并没有卡死.查看debug信息发现,是maven获取archetype-catalog.xml导致.(用游览器打开http://repo1.maven.org/maven2/archetype-catalog.xml,需要等待很长时间才能获取到.) 解决方法: 加上-DarchetypeCatalog=internal 运行参数,archet

Maven实战01_Maven简介

1:何为Maven Maven:中文翻译为"知识的积累",也可翻译为"专家"或"内行". 谈到Maven,就不得不提"构建(build)",那么什么是构建呢,我们每天在对代码进行编译.运行单元测试.生成文档.打包.部署等繁琐但是能够使代码得以最大的健壮和最小的bug的保证,这即使构建,其实说白了,就是让代码运行起来的过程.但是每天这样人工的操作,着实是有些浪费时间呀,Maven就是一款起那个大的构建工具,能够帮助我们自动化构建