前言:

在使用IDEA的Maven插件创建我们的maven项目时提供了如图所示的原型,为我们快速创建合适的项目提供了很大的帮助。下面我们将详细介绍各个archetype。

官网对archetype(原型)的介绍:
http://maven.apache.org/guides/introduction/introduction-to-archetypes.html

什么是archetype?

简言之,prototype是一个Maven项目模板工具包。原型被定义为一个原始的模式或模型,所有其他同类的东西都是由它构成的。使用原型提供了一种很好的方法,可以使开发人员以与项目或组织所采用的最佳实践一致的方式快速开发。

Maven的archetype有哪些?

下面简单介绍Maven提供的原型

Archetype ArtifactIds Description
maven-archetype-archetype 生成示例原型项目的原型。
maven-archetype-j2ee-simple 生成简化示例J2EE应用程序的原型。
maven-archetype-mojo 生成示例的原型(示例Maven插件)。
maven-archetype-plugin 生成示例Maven插件的原型。
maven-archetype-plugin-site 生成示例Maven插件站点的原型。
maven-archetype-portlet 生成示例的原型JSR-268组件。
maven-archetype-quickstart 生成示例Maven项目的原型。
maven-archetype-simple 生成简单Maven项目的原型。
maven-archetype-site 生成示例Maven站点的原型,该示例Maven站点演示了一些受支持的文档类型,如APT、XDoc和FML,并演示了如何i18n您的站点。
maven-archetype-site-simple 生成示例Maven站点的原型
maven-archetype-webapp 生成示例Maven Webapp项目的原型。

命令行的使用:见官方说明:
http://maven.apache.org/archetype/maven-archetype-plugin/usage.html

创建的原型的结构图及使用命令

maven-archetype-archetype:

project
|-- pom.xml
`-- src|-- main|   `-- resources|       |-- archetype-resources|       |   |-- pom.xml|       |   `-- src|       |       |-- main|       |       |   `-- java|       |       |       `-- App.java|       |       `-- test|       |           `-- java|       |               `-- AppTest.java|       `-- META-INF|           `-- maven|               `-- archetype-metadata.xml`-- test`-- resources`-- projects`-- it-basic|-- archetype.properties`-- goal.txt

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-archetype -DarchetypeVersion=1.4

maven-archetype-j2ee-simple:

project
|-- pom.xml
|-- ear
|   |-- pom.xml
|   `-- src
|       |-- main
|       |   `-- java
|       `-- test
|           `-- java
|-- ejbs
|   |-- pom.xml
|   `-- src
|       |-- main
|       |   |-- java
|       |   `-- resources
|       |       `-- META-INF
|       |           `-- ejb-jar.xml
|       `-- test
|           `-- java
|-- primary-source
|   |-- pom.xml
|   `-- src
|       |-- main
|       |   `-- java
|       `-- test
|           `-- java
|-- projects
|   |-- pom.xml
|   `-- logging
|       |-- pom.xml
|       `-- src
|           |-- main
|           |   `-- java
|           `-- test
|               `-- java
`-- servlets|-- pom.xml`-- servlet|-- pom.xml`-- src|-- main|   `-- java|-- webapp|   |-- WEB-INF|   |   `-- web.xml|   `-- index.jsp`-- test`-- java

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-j2ee-simple -DarchetypeVersion=1.4

maven-archetype-plugin

project
|-- pom.xml
`-- src|-- main|   `-- java|       `-- $package|           `-- MyMojo.java|-- test|   |-- java|   |   `-- $package|   │       `-- MyMojoTest.java|   `-- resources|       `-- project-to-test|           `-- pom.xml`-- it|-- simple-it|   |-- pom.xml|   `-- verify.groovy`-- settings.xml

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-plugin -DarchetypeVersion=1.4

Maven Plugin Site Archetype:

project
|-- pom.xml
`-- src`-- site|-- apt|   |-- examples|   |   `-- example.apt|   |-- index.apt|   `-- usage.apt|-- markdown|   |-- markdown.md|   `-- markdown-velocity.md.vm`-- site.xml

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-plugin-site -DarchetypeVersion=1.4

maven-archetype-portlet

project
|-- pom.xml
`-- src`-- main|-- java|   `-- $package|       `-- MyPortlet.java|-- jetspeed|   `-- web.xml`-- webapp|-- WEB-INF|   |-- tld|   |   `-- portlet.tld|   |-- portlet.xml|   `-- web.xml|-- help.jsp|-- maximized.jsp`-- normal.jsp

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-portlet -DarchetypeVersion=1.4

maven-archetype-quickstart

project
|-- pom.xml
`-- src|-- main|   `-- java|       `-- $package|           `-- App.java`-- test`-- java`-- $package`-- AppTest.java

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4

maven-archetype-simple

project
|-- pom.xml
`-- src|-- main|   `-- java|       `-- $package|           `-- App.java|-- site|   `-- site.xml`-- test`-- java`-- $package`-- AppTest.java

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-simple -DarchetypeVersion=1.4

maven-archetype-site

project
|-- pom.xml
`-- src`-- site|-- apt|   |-- format.apt|   `-- index.apt|-- fml|   `-- faq.fml|-- fr|   |-- apt|   |   |-- format.apt|   |   `-- index.apt|   |-- fml|   |   `-- faq.fml|   |-- markdown|   |   |-- markdown.md|   |   `-- markdown-velocity.md.vm|   `-- xdoc|       `-- xdoc.xml|-- markdown|   |-- markdown.md|   `-- markdown-velocity.md.vm|-- xdoc|   `-- xdoc.xml|-- site_fr.xml`-- site.xml

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-site -DarchetypeVersion=1.4

maven-archetype-site-simple

project
|-- pom.xml
`-- src`-- site|-- apt|   `-- index.apt|-- markdown|   |-- markdown-velocity.md.vm|   `-- markdown.md`-- site.xml

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-site-simple -DarchetypeVersion=1.4

maven-archetype-site-skin

project
|-- pom.xml
`-- src|-- main|   `-- resources|       `-- META-INF|           |-- css|           |   |-- maven-base.css|           |   |-- maven-theme.css|           |   `-- print.css|           |-- images|           |   |-- external.png|           |   |-- icon_error_sml.gif|           |   |-- icon_info_sml.gif|           |   |-- icon_success_sml.gif|           |   |-- icon_warning_sml.gif|           |   `-- newwindow.png|           `-- maven|               |-- site.vm|               |-- site-macros.vm|               `-- skin.xml`-- it|-- settings.xml`-- sample|-- pom.xml`-- verify.groovy`-- src`-- site|-- site.xml`-- apt`-- index.apt.vm

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-site-skin -DarchetypeVersion=1.4

maven-archetype-webapp

project
|-- pom.xml
`-- src`-- main`-- webapp|-- WEB-INF|   `-- web.xml`-- index.jsp

命令创建方式:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.4

如何选择创建Maven的archetype相关推荐

  1. JAVA-带您弄清创建Maven项目-Archetype里那些看完茫然不解的骨架

    目录 一.背景 来源 ​二.概念 三.思想提升 四.各个框架作用 五.常用框架 1.cocoon-22-archetype-webapp 2.maven-archetype-quickstart 3. ...

  2. Maven -- 使用Myeclipse创建Maven项目

    使用Myeclipse创建Maven项目有如下几种方式: 1.创建Maven Java项目 1.1 选择新建Maven项目 1.2.选择创建简单项目 1.3.填写项目信息 1.4.创建成功后项目目录结 ...

  3. IntelliJ IDEA使用(一):创建maven web项目

    在公司用eclipse开发maven web项目后,慢慢开始明白大家的那句话"受不了eclipse".的确,在开发大型的web项目,尤其是maven构建的项目,eclipse很不友 ...

  4. eclipse下创建Maven项目

    1.选择创建Maven项目,选择不适用骨架形式(Creat  a  simple  project) 如图: 2.packing选择war的形式 如图: 由于packing是war形式,那么下面就出现 ...

  5. 通过maven创建自己的archetype

    最近项目组做好一套框架,为了推广需要创建一些空白项目给项目组使用,因为所有的空白项目里面的配置基本上都是一样的,为了减少重复工作,想通过maven创建一个自己的archetype,于是在网上大致搜了一 ...

  6. Eclipse创建Maven项目报错处理Could not resolve archetype

    Eclipse创建Maven项目报错处理 1.错误说明 错误一:Could not resolve archetype org.apache.maven.archetypes:maven-archet ...

  7. idea 原型创建maven项目报错 - The desired archetype does not exist

    通过idea原型方式创建maven项目,结果报错idea - The desired archetype does not exist (org.apache.maven.archetypes:mav ...

  8. 在eclipse中创建maven项目错误的解决方法:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-qu

    当我们在ecipse安装 maven插件后,  (how to install maven plugin named m2eclipse) You can install the lastest M2 ...

  9. 解决Intellij IDEA 通过archetype创建Maven项目缓慢的问题

    解决Intellij IDEA 通过archetype创建Maven项目缓慢的问题 1.由于默认情况下,根据archetype创建maven项目会从网络下载catalog文件,导致创建maven项目缓 ...

最新文章

  1. SSL证书可以给多个域名使用吗?
  2. BZOJ 2793: [Poi2012]Vouchers(调和级数)
  3. Zepto源代码分析之二~三个API
  4. 【算法分析与设计】DFS与BFS的区别
  5. 【SICP练习】123 练习3.54
  6. @Controller
  7. Java基础类冒泡排序_Java基础 -- 冒泡排序算法(带详细注释)
  8. oracle vba 数组_vba:使用array中的文本从selection.find返回页码
  9. 用树莓派3B+实现智能语音识别
  10. 百度云如何免费扩容至2055G?
  11. 几何分布的期望和方差公式推导_常用概率分布总结(1)
  12. 图的表示(Adjacency List + Adjacency Matrix)
  13. 以太坊(9)go-ethereum + mist 开发环境搭建 --mac
  14. mysql抢红包功能_Laravel框架实现抢红包功能示例
  15. 多库多表场景下使用 Amazon EMR CDC 实时入湖最佳实践
  16. 安百拓西安仓储物流中心正式运营;中外运敦豪广东分公司迁新址 | 美通企业日报...
  17. centos英文版下如何安装中文语言包
  18. WPF基础之XAML----(XAML 根元素和 xmlns,事件和 XAML 代码隐藏)
  19. 绝不手软!严厉打击抄袭行为
  20. [还不会搭建博客吗?]centos7系统部署hexo博客新手入门-进阶,看这一篇就够了

热门文章

  1. XOR Specia-LIS-t
  2. 【青松资讯】数字身份版真假美猴王——利用复制进行的金融犯罪
  3. 湖南省怀化市谷歌高清卫星地图下载
  4. 金融科技开放势头下的众安新样本
  5. openresty完全开发指南_谷歌 Fuchsia OS 进入开发者测试阶段,它真的会代替安卓吗?...
  6. 收藏,全网开发者都在学的26门AI课程!
  7. 2018.9.18中科38所面试
  8. 【集合论】二元关系 ( 特殊关系类型 | 空关系 | 恒等关系 | 全域关系 | 整除关系 | 大小关系 )
  9. 上海电子地图 来自百度电子地图库 含15、17、最高级别19级地图
  10. EDM实例之15个节日邮件标题分享