新建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.jsp

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/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 原型)

(41中骨架原文链接:http://www.cnblogs.com/iusmile/archive/2012/11/14/2770118.html)

Maven 三种archetype说明相关推荐

  1. maven三种打包方式详解

    目录 maven常用打包命令 1 方法一:使用maven-jar-plugin和maven-dependency-plugin插件打包 2 方法二:使用maven-assembly-plugin插件打 ...

  2. Spring Boot项目(Maven\Gradle)三种启动方式及后台运行详解

    Spring Boot项目三种启动方式及后台运行详解 1 Spring Boot项目三种启动方法 运行Application.java类中的Main方法 项目管理工具启动 Maven项目:mvn sp ...

  3. maven web项目导入sts_Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式

    我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 43W+,如下图: 2017 年由于种种原因,就没有 ...

  4. Maven精选系列--三种仓库详解

    转载自 Maven精选系列--三种仓库详解 仓库分类 1.本地仓库 本地仓库就是开发者本地已经下载下来的或者自己打包所有jar包的依赖仓库,本地仓库路径配置在maven对应的conf/settings ...

  5. java 运行main_使用maven运行Java Main的三种方法解析

    maven使用exec插件运行java main方法,以下是3种不同的操作方式. 一.从命令行运行 1.运行前先编译代码,exec:java不会自动编译代码,你需要手动执行mvn compile来完成 ...

  6. maven引用公共包_maven怎么 引入(或引用/使用) 自定义(或本地/第三方) jar的三种方式 图文教程-Fun言...

    准备工作: jar包里的源码是: public class RegexUtils { /** * 验证Email * @param email email地址,格式:zhangsan@zuidaima ...

  7. Maven的三种packaging方式(pom、jar、war)

    Maven的三种packaging方式(pom.jar.war)   pom是maven依赖文件  jar是java普通项目打包  war是java web项目打包 pom:打出来可以作为其他项目的m ...

  8. SpringBoot进阶(一):再回首SpringBoot maven 项目的三种启动方式

    注:引入的是 SpringBoot2.0.3.RELEASE 的版本父项目 <parent><groupId>org.springframework.boot</grou ...

  9. java main 运行_使用maven运行Java Main的三种方法解析

    导读热词 maven使用exec插件运行java main方法,以下是3种不同的操作方式. 一.从命令行运行 1.运行前先编译代码,exec:java不会自动编译代码,你需要手动执行mvn compi ...

最新文章

  1. 捷途ipel平台怎么样_奇瑞捷途X有望搭载北斗、GPS双导航系统
  2. Angular-在服务和组件中使用管道
  3. ASP.NET页面指令
  4. gRPC客户端创建和调用原理解析
  5. linux 端口qos,linux的qos机制 - cgroup篇 (2)
  6. 前6个最常用的Redis库
  7. phpStudy中Xdebug设置 phpStorm设置
  8. 虽然“互联网电商”导致大量的“线下实体行业”受到冲击,但是“体验行业”永远不会被“互联网电商”影响
  9. Docker详解(十)——Docker容器CPU资源限额配置
  10. 【转】打印机硬件发现不了解决办法
  11. 引进博士:130平米住房+20万经费+15万年薪;硕士24万引进费+可聘讲师
  12. PyQt5 实现类似海康的设备搜索工具
  13. ICP经营许可证条件
  14. warning incompatible implicit declaration of built-in function 'printf'
  15. Web测试的各个测试点
  16. 敏感文件/目录扫描工具 dirsearch
  17. 素描滤镜_您可能不知道的素描技巧和键盘快捷键
  18. 生信技能9 - 生物信息分析必须掌握的生物学基本概念(建议收藏)
  19. mp3gain中文版(MP3调音器)
  20. 记一次ubuntu虚拟机被挖矿木马攻击的过程

热门文章

  1. Android手机QQ的UI自动化实践,音视频服务器开发难点
  2. dhu复试基础——36 水果价格
  3. Hadoop项目结构及其主要作用
  4. 服务器系统能玩吃鸡么,迅游普通vip能吃鸡能玩什么服务器 | 手游网游页游攻略大全...
  5. fiddler移动端抓包wifi不可上网(配置都正确,防火墙已关闭)
  6. Python中Pygal库的简单使用
  7. 丛麟环保冲刺科创板:拟募资20亿 年利润超2亿
  8. 18.企业信息化战略与实施
  9. 微信小程序 模块化注意
  10. 计算机里的资料不能另存为桌面,win10系统无法将文件存放在桌面上的设置技巧...