文档章节

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

MrBoyce
 MrBoyce
发布于 2018/05/15 09:34
字数 1237
阅读 19
收藏 0

新建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的内容如下:


[html] view plain copy
<?xml version="1.0" encoding="UTF-8"?>  
<!--  
  Licensed to the Apache Software Foundation (ASF) under one  
  or more contributor license agreements.  See the NOTICE file  
  distributed with this work for additional information  
  regarding copyright ownership.  The ASF licenses this file  
  to you under the Apache License, Version 2.0 (the  
  "License"); you may not use this file except in compliance  
  with the License.  You may obtain a copy of the License at  
  
   http://www.apache.org/licenses/LICENSE-2.0  
  
  Unless 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 ANY  
  KIND, either express or implied.  See the License for the  
  specific language governing permissions and limitations  
  under 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的内容如下:


[html] view plain copy
<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的内容如下:

[html] view plain copy
<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 原型)

本文转载自:https://blog.csdn.net/cx1110162/article/details/78297654

MrBoyce
粉丝 6
博文 110
码字总数 40466
作品 0
成都
程序员
私信 提问
intellij idea中使用maven创建web项目

<一>不选择任何maven模板创建web项目 Create New Project或者File->New->Project,如图: 点击maven,(不用选择Create from archetype,因为此处讲解不使用maven模板创建web项目),点击next,如...

AcresJoe1
2016/10/23
1K
1
如何在Eclipse下,用Maven建立Dynamic Web Project

第一种方法:进入new Maven Project时,Eclipse有多种模版供你选择,你可以直接选择 maven-archetype-webapp的那条,步骤如下: 1.新建Maven Project new project-->选择 Maven Project --> ...

有梦想的小孩
2013/07/24
1K
1
小宋/maven-archetype

自定义maven archetype 每次创建项目后还要手动创建resources目录。 每次创建web项目后,还需要把Dynamic Web Module 2.3换成2.5。 您是否正在被上面的两个问题困扰?这个项目可以帮助您解决...

小宋
2016/09/03
0
0
Maven Archetype 使用 命令

什么是Maven Archetype? 简单的说就是一个Maven项目的基础模板,利用这个模板我们就可快速的建立一个新的该类型项目,同时也可以建立自己的项目骨架。 Maven所提供的archetype功能都是由插件...

peizhenfly
2015/08/22
491
1
使用idea 创建maven简单项目 自定义骨架

我也是刚接触maven,自定义了一个骨架,怕以后忘了过程,就笔记一下,以后也能查看! 1.新建一个maven项目(注意是project,而不是module) ----->next 2.输入 GroupId ,ArtifactLd —>next 3...

文文1
08/01
72
0

没有更多内容

加载失败,请刷新页面

加载更多

IT兄弟连 HTML5教程 HTML5表单 小结及习题

小结 HTML表单提交的方法有get方法和post方法,get方法的作用是从指定的资源请求数据,post方法的作用是向指定的资源提交要被处理的数据。HTML表单一直都是Web的核心技术之一,有了它我们才能...

老码农的一亩三分地
25分钟前
14
0
向maven工程中导入自己封装好的jar包方法

1.打开cmd窗口 输入并执行:mvn install:install-file -DgroupId=com.test   -DartifactId=ptest -Dversion=0.1  -Dfile=E:\test\test-0.1.0.jar    -Dpackaging=jar注:Dgr......

gantaos
27分钟前
3
0
【jQuery基础学习】09 jQuery与前端(这章很水)

本文转载于:专业的前端网站➨【jQuery基础学习】09 jQuery与前端(这章很水) 这章主要是将如何将jQuery应用到网站中,或者说其实就是一些前端知识,对于我这种后端程序来说其实还是蛮有用的...

前端老手
39分钟前
11
0
深度科技与金山云完成兼容互认证 共同促进我国软件生态发展

近日,深度科技与金山云完成兼容互认证工作,经双方共同严格测试,深度操作系统ARM服务器版软件V15与金山云分布式数据库软件DragonBase V1.0相互兼容、稳定运行,可以为企业级应用提供全面保...

后浪涛涛
40分钟前
8
0
Less导入选项

Less 提供了CSS @import CSS规则的几个扩展,以提供更多的灵活性来处理外部文件。 语法: @import (keyword) "filename"; 以下是导入指令的相关详情: reference,使用较少的文件但不输出。 ...

凌兮洛
56分钟前
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部