原文链接:https://www.cnblogs.com/snowstar123/p/3449349.html

最近项目组做好一套框架,为了推广需要创建一些空白项目给项目组使用,因为所有的空白项目里面的配置基本上都是一样的,为了减少重复工作,想通过maven创建一个自己的archetype,于是在网上大致搜了一下,结果按照搜到的做法基本上都是一样的,但是发现在我本地跑的时候,就是有问题,找了好久,终于在国外的网站上找到一些重要的信息,在此记录下来以供 有需要的同学们 学习;

我是通过命令行的方式来创建的,先下载maven,然后配置好maven,这里我就不说maven的配置啦!进入重点!

1.通过cmd到项目的所在路径,执行 mvn archetype:create-from-project

2.执行第一步后,项目中会产生target目录,cd到target\generated-sources\archetype下,执行mvn install

执行这个后,这个项目的archetype就会被保存到你maven的本地仓库;

3.【网上搜到了很多文章都是说,直接执行mvn archetype:generate -DarchetypeCatalog=local;我执行这命令后,并没有看到我新建好的archetype;当然,如果你可以先执行这命令看一下,如果可以看到你新建的archetype,那就根据cmd中的提示开始创建你的项目吧,如果没有,那请按照我的说法来处理一下】

执行mvn archetype:crawl,执行完之后,到你的本地仓库看一下,本地仓库中是否存在archetype-catalog.xml,本地仓库默认的路径是当前用户的目录/.m2/repository;

我本地的archetype-catalog.xml内容如下:

<?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.zls.mvnbook</groupId>
<artifactId>hello-world-archetype</artifactId>
<version>1.0-RELEASE</version>
<description>hello-world</description>
</archetype>
<archetype>
<groupId>org.apache.maven.archetypes</groupId>
<artifactId>maven-archetype-quickstart</artifactId>
<version>1.0</version>
<description>quickstart</description>
</archetype>
<archetype>
<groupId>org.apache.maven.archetypes</groupId>
<artifactId>maven-archetype-quickstart</artifactId>
<version>1.1</version>
<description>quickstart</description>
</archetype>
</archetypes>
</archetype-catalog>

上面的第一个artifactId为hello-world-archetype就是我本地的archetype

4.执行mvn archetype:generate -DarchetypeCatalog=file://本地仓库地址/archetype-catalog.xml,这个时候,看看是否存在你新建出来的archetype

我本地执行后命令行内容如下:

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>
>
[INFO]
[INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<
<
[INFO]
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom --
-
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.
archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: file://D:\repo-for-me\archetype-catalog.xml -> com.zls.mvnbook:hello-world-ar
chetype (hello-world)
2: file://D:\repo-for-me\archetype-catalog.xml -> org.apache.maven.archetypes:ma
ven-archetype-quickstart (quickstart)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive co
ntains): 2:

到了这里大家应该会创建了吧,这里选择我们自己的archetype对应的数字或artifactId,如果我新建的archetype从命令行提示看 1: file://D:\repo-for-me\archetype-catalog.xml -> com.zls.mvnbook:hello-world-archetype (hello-world) 那么我只要输入1,接下来就是你需要新建的项目的groupId,artifactId等等啦!。。。

maven中archetype(原型)的使用的更多相关文章

  1. 使用maven创建Archetype

    Archetype原型 也就是说为项目生成一个原型,可以把这个项目发布,其他人就可以直接通过命令构建一个原型项目了. 其实我一开始也是不知道maven还有这个功能的,但是在使用的springside的 ...

  2. Maven的Archetype简介

    Archetype,骨架的意思. 文章出处:http://m.blog.csdn.net/blog/FireOfStar/42526027 Archetype是什么? 简单的说,Archetype是M ...

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

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

  4. 定制Maven的ArcheType

    根据需要定制Maven的ArcheType的好处不言而喻了,我就不再啰嗦.定制一般通过从Maven的项目构建,比手动构建省去了配置文件的编写.资源文件的复制等繁琐的操作,下面我们就说下从Maven项目 ...

  5. 手写Maven的archetype项目脚手架

    一.背景 maven是一个很好的代码构建工具,采用“约定优先于配置”的原则进行项目管理,相信很多的java开发者应该都了解maven并可能在工作当中都是通过maven来管理项目的,在创建的项目的时候, ...

  6. 理解Maven中的SNAPSHOT版本和正式版本

    Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制.在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个 ...

  7. maven 中snapshot版本和release版本的区别

    maven中的仓库分为两种,snapshot快照仓库和release发布仓库.snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本.定义一个组件/模 ...

  8. 【转】JavaScript中的原型和继承

    请在此暂时忘记之前学到的面向对象的一切知识.这里只需要考虑赛车的情况.是的,就是赛车. 最近我正在观看 24 Hours of Le Mans ,这是法国流行的一项赛事.最快的车被称为 Le Mans ...

  9. jacascript中的原型链以原型

    今地铁上看慕课网js课程,又学习到关于原型的一些知识,记录如下.如有偏差欢迎指正: 三张图要连起来看哦~ 图解: 1.创建一个函数foo. 2.运用函数的prototype属性(这个属性就是实例对象的 ...

随机推荐

  1. PHPexcle案例

    下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include 'PHPExcel/ ...

  2. 【BZOJ3227】串【广义后缀自动机】

    题意 给出n个字符串,问每个字符串中有多少子串是这所有的n个字符串中至少k个的子串. 分析 广义后缀自动机模板题.对这n个串建广义后缀自动机,对于每个状态维护两个值cou[u]和lcu[u]分别代表拥 ...

  3. 128. Longest Consecutive Sequence (HashTable)

    Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ...

  4. mybatis+oracle如何批量执行多条update

    接口 public void setStatus(List<Columns> columnsList); mapping xmlmapping 中使用foreach,关于标签的使用,资料非 ...

  5. linux系统chkconfig使用方法及服务开机启动

    一.基础知识 有关linux系统开机过程.运行等级,执行权限请看另一篇:linux系统启动过程及运行等级详解. 本篇文章实践的系统:centos6.5 二.创建服务 通过之前的说明,我们知道了如果需要 ...

  6. 访问tomcat出现java.lang.IllegalStateException No output folder错误解决方法

    访问tomcat出现java.lang.IllegalStateException: No output folder错误解决方法 问题:tomcat分为安装版和解压缩版,解压缩版如果解压到安装盘,在 ...

  7. 数字图像处理实验(总计23个)汇总 标签: 图像处理MATLAB 2017-05-31 10:30 175人阅读 评论(0)

    以下这些实验中的代码全部是我自己编写调试通过的,到此,最后进行一下汇总. 数字图像处理实验(1):PROJECT 02-01, Image Printing Program Based on Half ...

  8. Spring框架总结(八)

    二.Cglib代理名词理解: Cglib代理,也叫做子类代理.利用继承关系实现被代理类的功能扩展.缺点:      (1)JDK的动态代理有一个限制,就是使用动态代理的对象必须实现一个或多个接口.  ...

  9. Java SimpleDateFormat用法

      ? Java中怎么才能把日期转换成想要的格式呢,或把字符串转换成一定格式的日期,如把数据库中的日期或时间转换成自己想要的格式,JAVA中提供了SimpleDateFormat类可以实现,以下是Si ...

  10. 'for each' statements are only available if source level is 5.0

    在用foreach的时候,出现以下错误: 错误:Syntax error, 'for each' statements are only available if source level is 5. ...