新建Maven project项目时,需要选择archetype。

那么,什么是archetype?

archetype的意思就是模板原型的意思,原型是一个Maven项目模板工具包。一个原型被定义为从其中相同类型的所有其它事情是由一个原始图案或模型。名称配合,因为我们正在努力提供一种系统,该系统提供了一种生成Maven项目的一致的手段。原型将帮助作者为用户创建Maven项目模板,并为用户提供了手段,产生的这些项目模板参数化的版本。

建立Maven项目时,网上建议的分别是

1、cocoon-22-archetype-webapp

2、maven-archetype-quickstart

3、maven-archetype-webapp

那么为什么是这三种模板呢?这三种模板分别代表什么意思呢?

1、cocoon-22-archetype-webapp

建好项目后,项目的结构如下:

可以看到,这个项目结构里包含了applicationContext.xml、log4j.xml、web.xml

pom.xml的内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<!--Licensed to the Apache Software Foundation (ASF) under oneor more contributor license agreements.  See the NOTICE filedistributed with this work for additional informationregarding copyright ownership.  The ASF licenses this fileto you under the Apache License, Version 2.0 (the"License"); you may not use this file except in compliancewith the License.  You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing,software distributed under the License is distributed on an"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANYKIND, either express or implied.  See the License for thespecific language governing permissions and limitationsunder the License.
-->
<!-- $Id: pom.xml 642118 2008-03-28 08:04:16Z reinhard $ -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><packaging>war</packaging><name>springboot-cocoon</name><groupId>com.study.cx</groupId><artifactId>springboot-cocoon</artifactId><version>0.0.1-SNAPSHOT</version><build><plugins><plugin><groupId>org.mortbay.jetty</groupId><artifactId>maven-jetty-plugin</artifactId><version>6.1.7</version><configuration><connectors><connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"><port>8888</port><maxIdleTime>30000</maxIdleTime></connector></connectors><webAppSourceDirectory>${project.build.directory}/${pom.artifactId}-${pom.version}</webAppSourceDirectory><contextPath>/</contextPath></configuration></plugin></plugins></build><dependencies><!--dependency><groupId>com.study.cx</groupId><artifactId>[the artifact id of the block to be mounted]</artifactId><version>0.0.1-SNAPSHOT</version></dependency--></dependencies></project>

2、maven-archetype-quickstart

建好项目后,项目的结构如下:在这个项目里,除了pom.xml外,没有其他的xml了,但是有main、test两个包,包里放了一个App、AppTest类pom.xml的内容如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.study.cx</groupId><artifactId>springboot-quickstart</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>springboot-quickstart</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies>
</project>
3、maven-archetype-webapp建好项目后,项目的结构如下:在这个项目里,有WEB-INF目录,并且有web.xml和一个index.jsppom.xml的内容如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.study.cx</groupId><artifactId>srpingboot-mavenWebapp</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>srpingboot-mavenWebapp Maven Webapp</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies><build><finalName>srpingboot-mavenWebapp</finalName></build>
</project>
maven提供的41个骨架原型分别是:1: appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型)
2: appfuse-basic-spring(创建一个基于Hibernate,Spring和Spring MVC的Web应用程序的原型)
3: appfuse-basic-struts(创建一个基于Hibernate,Spring和Struts 2的Web应用程序的原型)
4: appfuse-basic-tapestry(创建一个基于Hibernate,Spring 和 Tapestry 4的Web应用程序的原型)
5: appfuse-core(创建一个基于Hibernate,Spring 和 XFire的jar应用程序的原型)
6: appfuse-modular-jsf(创建一个基于Hibernate,Spring和JSF的模块化应用原型)
7: appfuse-modular-spring(创建一个基于Hibernate, Spring 和 Spring MVC 的模块化应用原型)
8: appfuse-modular-struts(创建一个基于Hibernate, Spring 和 Struts 2 的模块化应用原型)
9: appfuse-modular-tapestry (创建一个基于 Hibernate, Spring 和 Tapestry 4 的模块化应用原型)
10: maven-archetype-j2ee-simple(一个简单的J2EE的Java应用程序)
11: maven-archetype-marmalade-mojo(一个Maven的 插件开发项目 using marmalade)
12: maven-archetype-mojo(一个Maven的Java插件开发项目)
13: maven-archetype-portlet(一个简单的portlet应用程序)
14: maven-archetype-profiles()
15:maven-archetype-quickstart()
16: maven-archetype-site-simple(简单的网站生成项目)
17: maven-archetype-site(更复杂的网站项目)
18:maven-archetype-webapp(一个简单的Java Web应用程序)
19: jini-service-archetype(Archetype for Jini service project creation)
20: softeu-archetype-seam(JSF+Facelets+Seam Archetype)
21: softeu-archetype-seam-simple(JSF+Facelets+Seam (无残留) 原型)
22: softeu-archetype-jsf(JSF+Facelets 原型)
23: jpa-maven-archetype(JPA 应用程序)
24: spring-osgi-bundle-archetype(Spring-OSGi 原型)
25: confluence-plugin-archetype(Atlassian 聚合插件原型)
26: jira-plugin-archetype(Atlassian JIRA 插件原型)
27: maven-archetype-har(Hibernate 存档)
28: maven-archetype-sar(JBoss 服务存档)
29: wicket-archetype-quickstart(一个简单的Apache Wicket的项目)
30: scala-archetype-simple(一个简单的scala的项目)
31: lift-archetype-blank(一个 blank/empty liftweb 项目)
32: lift-archetype-basic(基本(liftweb)项目)
33: cocoon-22-archetype-block-plain([http://cocoapacorg2/maven-plugins/])
34: cocoon-22-archetype-block([http://cocoapacorg2/maven-plugins/])
35:cocoon-22-archetype-webapp([http://cocoapacorg2/maven-plugins/])
36: myfaces-archetype-helloworld(使用MyFaces的一个简单的原型)
37: myfaces-archetype-helloworld-facelets(一个使用MyFaces和Facelets的简单原型)
38: myfaces-archetype-trinidad(一个使用MyFaces和Trinidad的简单原型)
39: myfaces-archetype-jsfcomponents(一种使用MyFaces创建定制JSF组件的简单的原型)
40: gmaven-archetype-basic(Groovy的基本原型)
41: gmaven-archetype-mojo(Groovy mojo 原型)

archetype说明相关推荐

  1. Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart

    1. 用eclipse装m2eclipse的时候装完后创建项目的时候报错: Could not resolve archetype org.apache.maven.archetypes:maven- ...

  2. 架构师必备技能:Maven Archetype生成项目模板

    基本每个公司的项目都有一套模板,只要开新项目直接复制一份改改包名和一些配置就初始化了一个新项目.这种方式有点繁琐,有没有通过命令甚至是可视化的方式从一个模板项目初始化项目.Maven其实有提供这种能力 ...

  3. 通过maven创建自己的archetype

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

  4. 渐统江湖的项目原型生成工具 -- Maven Archetype

    江湖上多的是功能华丽的项目原型/骨架生成工具,但最后,反而是功能简单的Maven Archetypes渐渐有了一统的希望. 无它,先把自己收拾得简单易用,然后作为一个江湖大佬(maven)的" ...

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

    Maven的archetype Plugin可能大家都听过,但不一定都能很好地用好它.缺省地如果你使用 mvn archetype:generate  会从maven的Repository里查找所有支 ...

  6. maven java archetype_使用Maven Archetype创建Java项目模板

    1.over view 简而言之,Archetype是一个Maven项目模板工具包.原型被定义为一种原始的模式或模型,所有其他同类的东西都是从中产生的.当我们试图提供一个提供生成Maven项目的一致方 ...

  7. java web前端模版,以Eclipse替核心搭建JAVA WEB开发环境(三)-模板项目Archetype

    以Eclipse为核心搭建JAVA WEB开发环境(三)-模板项目Archetype 本篇介绍创建archetype,用于创建WEB项目的模板. 1.创建一个Dynamic Web Project. ...

  8. (转)Maven之自定义archetype生成项目骨架

    背景:最近在开发一个项目的基础构件,在以后项目的开发过程中可以直接使用该构件快速的生成项目骨架进行开发. 摘要:使用过Maven的人都知道maven中有许多功能都是通过插件来提供的,今天我们来说一下其 ...

  9. 自定义idea archetype

    编写 archetype 元数据 通过plugin从现有项目中导出 1.引入plugin <plugin><groupId>org.apache.maven.plugins&l ...

  10. Maven(6)--archetype

    Archetype是Maven工程的模板工具包.一个Archetype定义了要做的相同类型事情的初始样式或模型.这个名称给我们提供来了一个一致的生成Maven工程的方式.Archetype会帮助作者给 ...

最新文章

  1. c语言实验报告管理系统,C语言实验报告-学生信息资管理系统.doc
  2. 举例让抽象问题具体化:栈的压入、弹出序列
  3. 笔试题目1,欢迎留言评论
  4. springboot:记录jdbc
  5. java清理语句,java – 如何在不使用准备语句的情况下对SQL进行清理
  6. 智能家居产品持续发烧 增值应用功能多样化发展
  7. linux运维中的中间件,linux中间件Nginx的安装过程
  8. 择师论(怎么有效的向别人学习)
  9. PhoneGap:免费开源的 HTML5 移动应用开发平台
  10. 从0使用webpack构建reactjs
  11. asp.net 从客户端中检测到有潜在危险的 Request.Form 值
  12. ReleaseDC和DeleteDC的区别
  13. 7.2.5 dps 测试软件,7.2.5冰DK萨墓六大DPS饰品测试:属性机制及分析
  14. 电信光猫DDNS的设置经历
  15. OpenGL学习002-配置GLAD
  16. java 阳历日期时间获取年月日时干支
  17. 无限法则裸连本地服务器错误,无限法则D3Dinitfailed报错问题解决办法
  18. 一些动网美化方法集合【蓝雨动力整理】
  19. Pandas 报错 TypeError: ‘Series‘ objects are mutable, thus they cannot be hashed
  20. 笔记本固态硬盘温度测试软件,台式电脑ssd固态硬盘温度多少算正常?查看ssd固态硬盘温度的方法...

热门文章

  1. 电影推荐:阿兰·图灵--一个伟大而又悲惨的天才
  2. 艾伟_转载:VS 2010 和 .NET 4.0 系列之《自动启动ASP.NET应用》篇
  3. js 日期转换 strToDate
  4. 西安电子科技大学计算机研究生工资,双一流高校本硕博毕业生,薪酬排名!西安电子科技大学全国第5!...
  5. 手机蓝牙c语言开发,蓝牙协议栈的研究及其C语言实现
  6. My97DatePicker 使用及配置
  7. CFS调度器负载计算
  8. Python_pygame库学习笔记(1):pygame的由来,特点以及模块简介
  9. EAS中的EAS License与Apusic的License区别
  10. 1182: 查询记录(结构体专题)