使用maven3 创建自定义的archetype
创建自己的archetype一般有两种方式,比较简单的就是create from project
1、首先使用eclipse创建一个新的maven project,然后把配置好的一些公用的东西放到相应的目录下面
    比如说会将一些常用的java代码存放到src/main/java目录下面;
    会将一些通用的配置文件放到src/main/resources目录下面;
如果是javeEE工程,还会有一些jsp等等的文件存放到src/main/webapp目录下面
2、然后在maven project的pom.xml文件中添加插件
    ================================================
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-archetype-plugin</artifactId>
            <version>2.2</version>
        </plugin>
    </plugins>
    ================================================
例如:

3、打开cmd窗口,cd到刚才创建的maven project的根目录,运行maven命令:
    mvn archetype:create-from-project
    然后会在target目录下面生成generated-sources目录,这个就是生成的 archetype
4、cd进入generated-sourced/archetype目录,运行maven命令:
    mvn install
    这样就把自定义的archetype安装到本地仓库了。
    archetype安装的地址是在maven安装目录下面的conf/settings.xml文件中指定的(<localRepository>字节)。
    默认会在  ~/.m2  目录下面生成一个archetype-catalog.xml文件(和默认的settings.xml在同一个目录),
    声明了该archetype的groupId、artifactId和其他属性。
    因为Eclipse创建maven项目过程中,选择的“Default Local”指向的地址就是 ~/.m2,
    所以文件archetype-catalog.xml会被eclipse自动读取,
    使用eclipse创建maven项目的时候可以在"Default Local"一项中找到刚才自定义archetype名字。
    
5、当eclipse的maven设置中,User Settings选择的settings.xml指向的本地仓库地址和maven安装目录下
    的那个settings.xml中指向路径一样的时候,eclipse才能读取得到刚才安装的自定义的archetype的源文件,
    这样eclipse才能复制源文件并创建项目。
6、如果想要卸载刚才安装的archetype,只需要将~/.m2目录下面的archetype-catalog.xml文件中对应的<archetype>字节段删掉,
    并且把本地仓库中相应groupId和artifactId下面的文件删掉就可以了。
7、安装到本地仓库中的archetype只可以被自己使用,如果想要共享,那么在第四步的时候使用deploy命令,不要使用install命令。
=====================================================================================
=====================================================================================
使用maven3 创建自定义的archetype的更多相关文章
- [转]maven创建自定义的archetype
		
创建自己的archetype一般有两种方式,比较简单的就是create from project 1.首先使用eclipse创建一个新的maven project,然后把配置好的一些公用的东西放到相应 ...
 - Java如何搭建脚手架(自动生成通用代码),创建自定义的archetype(项目模板)
		
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...
 - 【Maven实战技巧】「插件使用专题」Maven-Archetype插件创建自定义maven项目骨架
		
技术推荐 自定义Archetype Maven骨架/以当前项目为模板创建maven骨架,可以参考http://maven.apache.org/archetype/maven-archetype-pl ...
 - 自定义Maven Archetype模板
		
1. 目的 自定义Maven Archetype模板目的为了把自己辛苦搭建的基础项目可以作为模板, 方便以后可以快速的创建类似项目,免去每次搭建的麻烦 2.把基础项目打包生成archetype项目 在 ...
 - ASP.NET MVC随想录——创建自定义的Middleware中间件
		
经过前2篇文章的介绍,相信大家已经对OWIN和Katana有了基本的了解,那么这篇文章我将继续OWIN和Katana之旅——创建自定义的Middleware中间件. 何为Middleware中间件 M ...
 - 带你走近AngularJS - 创建自定义指令
		
带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自定义指令 ------------- ...
 - ArcGIS Engine环境下创建自定义的ArcToolbox Geoprocessing工具
		
在上一篇日志中介绍了自己通过几何的方法合并断开的线要素的ArcGIS插件式的应用程序.但是后来考虑到插件式的程序的配置和使用比较繁琐,也没有比较好的错误处理机制,于是我就把之前的程序封装成一个类似于A ...
 - Dockerfile创建自定义Docker镜像以及CMD与ENTRYPOINT指令的比较
		
1.概述 创建Docker镜像的方式有三种 docker commit命令:由容器生成镜像: Dockerfile文件+docker build命令: 从本地文件系统导入:OpenVZ的模板. 关于这 ...
 - .NET微信公众号开发-2.0创建自定义菜单
		
一.前言 开发之前,我们需要阅读官方的接口说明文档,不得不吐槽一下,微信的这个官方文档真的很烂,但是,为了开发我们需要的功能,我们也不得不去看这些文档. 接口文档地址:http://mp.weixin ...
 
随机推荐
- Drools环境搭建
			
Eclipse3.5安装Drools6.5.0.Final插件 到Drools下载页面(现在是http://www.jboss.org/drools/downloads.html) -下载并解压Dro ...
 - 2016.11.4 Injection of autowired dependencies failed
			
运行项目时,提示错误: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ' ...
 - curses.h头文件不存在解决办法
			
sudo apt-get install libncurses5-dev安装,系统自带库文件一般在/usr/include下面,这个是安装curses.h的 conio不是c语言标准库,也不是posi ...
 - CSRF Token
			
本文参考自:https://blog.csdn.net/lion19930924/article/details/50955000 目的是防御CSRF攻击. Token就是令牌,最大的特点就是随机性, ...
 - Exception from HRESULT: 0x80070057 (E_INVALIDARG)
			
Exception from HRESULT: 0x80070057 (E_INVALIDARG)异常. 解决方案:清除ASP.NET缓存目录中对应的应用程序目录. ASP.NET缓存目录如下: C: ...
 - 世纪怎么换算成具体的年份?eg:19世纪60年代=19??年?
			
http://zhidao.baidu.com/question/339742625.html&__bd_tkn__=6ab5183c226b84031b08b849ecac35b396039 ...
 - python for android : BeautifulSoup 有 bug
			
BeautifulSoup 善于网页数据分析 .可是 python for android : BeautifulSoup 有 bug , text = h4.a.text 仅仅能取得 None,因此 ...
 - 聊聊高并发(三十九)解析java.util.concurrent各个组件(十五) 理解ExecutorService接口的设计
			
上一篇讲了Executor接口的设计,目的是将任务的运行和任务的提交解耦.能够隐藏任务的运行策略.这篇说说ExecutorService接口.它扩展了Executor接口,对Executor的生命周期 ...
 - Lua学习五----------Lua循环
			
© 版权声明:本文为博主原创文章,转载请注明出处 1.循环类型 1.1 while循环 - 语法:while(condition) do ...<执行语句> end - 解析:判断cond ...
 - SQL Prompt 编辑
			
SQL Prompt是一款拥有SQL智能提示功能的SQL Server和VS插件.超级好用的插件,