当我们在idea中创建项目时,经常会见到如下界面选择:

archetype也就是原型,准确说是一个项目模板,我们可以根据该模板来生成项目。

我就不介绍图形界面的创建方式了,一步一步太啰嗦了,我们用命令方式创建。

创建一个常见的webapp项目。

命令如下:

mvn archetype:generate -DgroupId=com.cj  -DartifactId=webAppDemo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

archetype:generate //archetype代表插件名,generate代表目标,一个插件有多个目标

意思就是我们通过archetype插件创建一个webapp项目,项目的groupId是com.cj,项目id是webAppDemo.使用的项目archetype是maven-archetype-webapp。也就是一个java web项目。interactiveMode= false,代表在执行过程中,用户不能进行输入操作。默认是true,需要用户进行操作。

这里我们用到了一个插件archetype,执行他的generate目标来创建项目,当然还有其他目标,比如:create-from-project,下面我会介绍。

看下上面创建的结果和项目结构:

上面创建完的项目还不是很标准的webapp项目,我们还要作写处理,参考:idea创建webapp项目。

好了,上面介绍了如何使用原型创建项目,再来介绍如何根据自己的项目创建原型。

在项目的根目录,运行如下命令:

1.mvn archetype:create-from-project

它会生成archetype项目的相关文件。

2.mvn install

切换到项目的target/generated-sources/archetype/下,运行上面命令,我们要对archetype项目打包。

可以看到,我们已经生成了archetype项目。

那我们来测试下,根据我们生成的archetype项目来生成项项目,有2种方法。

方法1:利用自动生成的archetype-catalog.xml来创建项目。

当我们install后,会在~/m2.目录生成如下定义archetype文件:

<?xml version="1.0" encoding="UTF-8"?>
<archetype-catalog xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0 http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd"xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><archetypes><archetype><groupId>com.chenjun</groupId><artifactId>springBootAop-archetype</artifactId><version>1.0.1</version><description>Spring Boot AOP Sample</description></archetype></archetypes>
</archetype-catalog>

我们运行:mvn archetype:generate -DarchetypeCatalog=local

表示利用本地archetype-catalog.xml定义的archetype来创建项目。

方法2:需要将install后的achetype项目copy到插件查找目录org\apache\maven\archetypes

可以看到,利用自己生成的archetype,能够生成我们自己的项目了。

PS:记得把自己installl的archetype的jar,手工copy到本地仓库的org\apache\maven\archetypes目录下,因为是从该目录下查找本地插件。

总结:

一、根据archetype创建项目的命令

mvn archetype:generate -DgroupId=com.cj  -DartifactId=webAppDemo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

二、根据项目生成archetype的命令

1.mvn archetype:create-from-project     //生成archetype项目文件
     2.cd target/generated-sources/archetype/   //切换到archetype项目跟目录
     3.mvn install   //对archetype项目打包安装
     4.mvn archetype:generate -DarchetypeCatalog=local  //利用local本地提供的archetype创建项目

maven中archetype(原型)的使用及创建相关推荐

  1. 如何选择创建Maven的archetype

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

  2. 解决eclipse maven工程中src/main/resources目录下创建的文件夹所显示样式不是文件夹,而是“包“图标样式的问题

    解决eclipse maven工程中src/main/resources目录下创建的文件夹所显示样式不是文件夹,而是"包"图标样式的问题 参考文章: (1)解决eclipse ma ...

  3. idea创建maven中的servlet并运行

    目录 前言 一.Maven是什么? 二.创建步骤 1.进入创建maven 2.引用 3.创建Servlet 4.web.xml的配置 5.运行 1.Add Configuration 2.maven插 ...

  4. Maven的Archetype简介

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

  5. Maven model archetype说明

    前言 新建一个model,其中有一个选项"Create from archetype"感觉很奇怪,我就来了解一下这些内容,做一下笔记, 什么是Archetype Archetype ...

  6. Maven自定义Archetype项目模板

    前言:在某课网上学习到可以使用命令mvn archetype:create-from-project来创建自己的项目模板(文中提及的项目模板即 原型 archetype),对此我十分感兴趣.但是,遗憾 ...

  7. 架构师工具箱(二)Maven——Maven生成Archetype

    写在前面: 你好,欢迎关注! 我热爱技术,热爱分享,热爱生活, 我始终相信:技术是开源的,知识是共享的! 博客里面的内容大部分均为原创,是自己日常的学习记录和总结,便于自己在后面的时间里回顾,当然也是 ...

  8. 学习笔记:Maven的ArcheType的学习笔记

    摘要: Archetype是什么?它由哪些文件组成?如何创建和安装自己的archtype,如何使用自己创建的archetype? 一.Archetype是什么 Archetype其实就是一个Maven ...

  9. Maven中pom文件详解

    在IDE中使用Maven IDE工具 MyEclipse 集成maven插件 Eclipse ​ Eclipse For Java EE IDEA 集成Maven插件 在IDE中 配置Maven 指定 ...

最新文章

  1. 流程管理精英沙龙活动(深圳站)圆满结束
  2. 部署go的web应用_使用Docker部署Go Web应用
  3. 人工智能-基于U^2-Net的肖像画生成算法
  4. linux常用命令:sudo 命令
  5. windows平台oracle无法调度,windows 2003+Legato networker+oracle 9i (框架)
  6. WIN7 64位系统注册银行支付组件
  7. unittest单元测试笔记
  8. es6删除数组某一项_精学手撕系列——数组扁平化
  9. rocketmq java例子_SpringBoot和RocketMQ的简单实例
  10. 移动web的适配问题
  11. 构建 Netflix 分布式追踪(tracing)体系
  12. 全平台adb工具安装方法
  13. 火山PC模块使用案例-动态创建多个组件教程
  14. 中国智慧VS西方智慧-看中国IT风云
  15. 【网页模板代码】0代码也可以制作网站?使用网页模板!
  16. 系统提速,Windows Ready Boost,使用闪存设备提高性能
  17. Keepalived HAProxy应用
  18. 【FFmpeg视频播放器开发】解封装解码流程、常用API和结构体简介(一)
  19. MySQL索引分析以及相关面试题
  20. 百万调音师—Audition 压缩效果器

热门文章

  1. python心理学实验程序_心理学实验设计程序软件除了 DMDX,E-prime,还有哪些?
  2. windows7系统损坏修复_利用老毛桃系统修复Windows引导故障
  3. shell脚本编程学习笔记5(xdl)——正则表达式
  4. 2017腾讯LIVE开发者大会精彩回顾!
  5. 如何获取彩色图像中的主色彩
  6. microstation level3 10 elliptical cone solid 、ellipsoid、polyhedron
  7. EAS BOS 单据开发下拉列表监听方法
  8. 运动健身八段锦APP开发案例分析
  9. c++ 计算图形的面积
  10. word2016如何加载endnote x7,如何连接word和endnote