新建Maven project項目時,須要選擇archetype。html
那麼,什麼是archetype?web
archetype的意思就是模板原型的意思,原型是一個Maven項目模板工具包。一個原型被定義爲從其中相同類型的全部其它事情是由一個原始圖案或模型。名稱配合,由於咱們正在努力提供一種系統,該系統提供了一種生成Maven項目的一致的手段。原型將幫助做者爲用戶建立Maven項目模板,併爲用戶提供了手段,產生的這些項目模板參數化的版本。spring
創建Maven項目時,網上建議的分別是 app
一、cocoon-22-archetype-webappwebapp
二、maven-archetype-quickstartjsp
三、maven-archetype-webappmaven
那麼爲何是這三種模板呢?這三種模板分別表明什麼意思呢?模塊化
一、cocoon-22-archetype-webapp工具
建好項目後,項目的結構以下:網站
二、maven-archetype-quickstart
建好項目後,項目的結構以下:
在這個項目裏,除了pom.xml外,沒有其餘的xml了,可是有main、test兩個包,包裏放了一個App、AppTest類
三、maven-archetype-webapp
建好項目後,項目的結構以下:
在這個項目裏,有WEB-INF目錄,而且有web.xml和一個index.jsp
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 原型)
(41中骨架原文連接:http://www.cnblogs.com/iusmile/archive/2012/11/14/2770118.html)