通过maven创建自己的archetype
最近项目组做好一套框架,为了推广需要创建一些空白项目给项目组使用,因为所有的空白项目里面的配置基本上都是一样的,为了减少重复工作,想通过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一般有两种方式,比较简单的就是create from project 1.首先使用eclipse创建一个新的maven project,然后把配置好的一些公用的东西放到相应 ...
- 使用maven创建Archetype
Archetype原型 也就是说为项目生成一个原型,可以把这个项目发布,其他人就可以直接通过命令构建一个原型项目了. 其实我一开始也是不知道maven还有这个功能的,但是在使用的springside的 ...
- Eclipse使用Maven创建普通Java工程时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE from any of the configured repositories.
报错信息如下: Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE f ...
- Maven3路程(六)用Maven创建Spring3 MVC项目
Maven3路程(六)用Maven创建Spring3 MVC项目 一. 环境 spring-framework-3.2.4.RELEASE jdk1.7.0_11 Maven3.0.5 ec ...
- Maven3路程(三)用Maven创建第一个web项目(2)servlet演示
上一章用Maven新建了web项目成功后,本文演示在此基础上应用servlet. 1.首先修改pom.xml文件,添加servlet依赖 <project xmlns="http:// ...
- Maven创建servlet项目演示(三)
上一节用Maven新建了web项目成功后,本文演示在此基础上应用servlet. 从对tomcat服务器进行配置可的过程中可以知道,tomcat作为servlet容器运行,负责处理客户请求,把请求传送 ...
- 【项目管理和构建】十分钟教程,eclipse配置maven + 创建maven项目(三)
[项目管理和构建]十分钟教程,eclipse配置maven + 创建maven项目(三) 上篇博文中我们介绍了maven下载.安装和配置(二),这篇博文我们配置一下eclipse,将它和maven结合 ...
- Eclipse+Maven创建webapp项目<一><二><三>
转-http://www.cnblogs.com/candle806/p/3439469.html Eclipse+Maven创建webapp项目<一> 1.开启eclipse,右键new ...
- maven3实战之maven使用入门(使用archetype生成项目骨架)
maven3实战之maven使用入门(使用archetype生成项目骨架) ---------- maven提供了archetype以帮助我们快速勾勒出项目骨架.以Hello World为例,我们使用 ...
随机推荐
- Swift中可能失败的构造器的传播(调用)和重写
import Foundation /* 可能失败构造器的传播(调用) 1.可能失败的构造器可以调用同一个类中的普通构造器 2.普通构造器不能调用同一个类中的可能失败构造器 3.结构体中, 普通构造器 ...
- css3之background
background background: (1)url(image1.png) right bottom, (2)url(image2.png) center, (3)url(image3.png ...
- 菜鸟做HTML5小游戏 - 翻翻乐
记录下开放过程.做小游戏开发,又要跨平台,flash又不支持iPhone,html5是最好的选择. 先看看最后效果: 好了,开始demo. 1.准备工作: 图片素材(省略...最后代码一起打包) 了解 ...
- 给大家推荐几款OSX上非常好工具(针对程序员)
前两天,在App Store无意中发现几款免费工具,感觉非常好用,推荐给大家,希望大家喜欢. 一个是帮助文档管理软件,Dash.以前在Windows上开发,经常要自己搜集一些手册,文档,什么html手 ...
- iOS学习之自定义UItableViewCell
在项目开发中,大部分情况下我们都需要自定义UITableViewCell, 今天就重点整理一下目前自己已经学过的自定义Cell的一些注意事项; 分步骤来写吧: 1.将自定义的Cell定义为属性; 2. ...
- iOS随机数-备
ios 有如下三种随机数方法: 1. srand((unsigned)time(0)); //不加这句每次产生的随机数不变 int i = rand() % 5; 2. s ...
- c语言输出可见字符
#include <stdio.h> void main() { int i; //可见字符是32-126 ;i<;i++) { putchar(i); } getchar(); }
- c语言typedef运用之结构体
#include <stdio.h> #include <stdlib.h> typedef struct stu { ]; int score; }stu_info; int ...
- php面向对象编程之构造方法__construct()
php中构造方法是对象创建完成后第一个被对象自动调用的方法.在每个类中都有一个构造方法,如果没有显示地声明它,那么类中都会默认存在一个没有参数且内容为空的构造方法. 构造方法的作用 通常构造方法被用来 ...
- python3-day4(装饰器)
一.基本 第一波 #### def foo(): print 'foo' foo #表示是函数 foo() #表示执行foo函数 #### 第二波 #### def foo ...