maven中archetype(原型)的使用
原文链接: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(原型)的使用的更多相关文章
- 使用maven创建Archetype
Archetype原型 也就是说为项目生成一个原型,可以把这个项目发布,其他人就可以直接通过命令构建一个原型项目了. 其实我一开始也是不知道maven还有这个功能的,但是在使用的springside的 ...
- Maven的Archetype简介
Archetype,骨架的意思. 文章出处:http://m.blog.csdn.net/blog/FireOfStar/42526027 Archetype是什么? 简单的说,Archetype是M ...
- 学习笔记:Maven的ArcheType的学习笔记
摘要: Archetype是什么?它由哪些文件组成?如何创建和安装自己的archtype,如何使用自己创建的archetype? 一.Archetype是什么 Archetype其实就 ...
- 定制Maven的ArcheType
根据需要定制Maven的ArcheType的好处不言而喻了,我就不再啰嗦.定制一般通过从Maven的项目构建,比手动构建省去了配置文件的编写.资源文件的复制等繁琐的操作,下面我们就说下从Maven项目 ...
- 手写Maven的archetype项目脚手架
一.背景 maven是一个很好的代码构建工具,采用“约定优先于配置”的原则进行项目管理,相信很多的java开发者应该都了解maven并可能在工作当中都是通过maven来管理项目的,在创建的项目的时候, ...
- 理解Maven中的SNAPSHOT版本和正式版本
Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制.在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个 ...
- maven 中snapshot版本和release版本的区别
maven中的仓库分为两种,snapshot快照仓库和release发布仓库.snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本.定义一个组件/模 ...
- 【转】JavaScript中的原型和继承
请在此暂时忘记之前学到的面向对象的一切知识.这里只需要考虑赛车的情况.是的,就是赛车. 最近我正在观看 24 Hours of Le Mans ,这是法国流行的一项赛事.最快的车被称为 Le Mans ...
- jacascript中的原型链以原型
今地铁上看慕课网js课程,又学习到关于原型的一些知识,记录如下.如有偏差欢迎指正: 三张图要连起来看哦~ 图解: 1.创建一个函数foo. 2.运用函数的prototype属性(这个属性就是实例对象的 ...
随机推荐
- centos7 安装VMware Tools 遇到的一系列问题的解决方案
先部署源:http://www.cnblogs.com/jiu0821/p/8074463.html VMware Tools安装方法参考:http://www.cnblogs.com/jiu0821 ...
- 第一个MFC实例:计算圆周长和圆面积
一.基于Microsoft MFC的编程方法 MFC是微软基础类库(Microsoft Foundation Class)的缩写.与API不同,MFC不是Windows操作系统的组成部分,而是微软公司 ...
- Nginx 相关介绍(Nginx是什么?能干嘛?个人觉得写得比较好的文章,转载过来)
Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资源描述符(Unifor ...
- UNITY的UI之Pivot与Anchor区别
Pivot Rotations, size, and scale modifications occur around the pivot so the position of the pivot a ...
- redis 面试题2
使用过Redis分布式锁么,它是什么回事? 先拿setnx来争抢锁,抢到之后,再用expire给锁加一个过期时间防止锁忘记了释放. 这时候对方会告诉你说你回答得不错,然后接着问如果在setnx之后执行 ...
- web.xml配置详解[转]
引文: 对于一个J2EE领域的程序员而言,基本上每天都会和web应用打交道. 什么是web应用?最简单的web应用什么样?给你一个web应用你该从何入手? 1.什么是web应用? web应用是一种可以 ...
- jquery函数$.proxy简单示例
来自于<jquery 权威指南> ------------------------------ <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...
- mac iterm2
配置的效果图 : 先讲 iterm2 的配色,再讲 显示分支以及高亮. 一. 配色 打开iterm的官方主题配置站 github.com/mbadolato/iTerm2-Color-Schemes, ...
- dubbo获取错误ip
JAVA_OPTIONS="-Ddubbo.protocol.host=192.168.1.111
- 金士顿DT100 G3 PS2251-07海力士U盘量产修复成功教程
金士顿DT100 G3这款U盘.用了大概一年半没什么问题,前段时间拷贝大文件,无奈电脑突然断电,然后这个U盘在电脑上就读不出来了,只能显示盘符,所以有了修复过程. 最开始我也是菜鸟,不知道怎么搞, ...