定制Maven原型生成项目
1自定义原型
1.1创建原型项目
要定制自己的原型,首先就要创建原型项目来进行定制:
mvnarchetype:create -DgroupId=com.cdai.arche -DartifactId=test-archetype-DarchetypeArtifactId=maven-archetype-archetype
生成项目结构如下:
1.2安装原型到本地
在pom.xml中添加:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</build>
在pom.xml所在目录下执行:
mvn archetype:create-from-project
就会在target目录下面生成generated-sources目录,这个就是生成的archetype
切换目录后执行:
cd target\generated-sources\archetype
mvn install
这样就把自定义的archetype安装到本地仓库了。archetype安装的地址是在maven安装目录下面的conf/settings.xml文件中指定的<localRepository>。默认会在 ~/.m2 目录下面生成一个archetype-catalog.xml文件。
archetype-catalog.xml内容如下:
===============================================================================
<?xmlversion="1.0" encoding="UTF-8"?>
<archetype-catalogxsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0http://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.cdai.arche</groupId>
<artifactId>test-archetype-archetype</artifactId>
<version>1.0-SNAPSHOT</version>
<description>test-archetype-archetype</description>
</archetype>
</archetypes>
</archetype-catalog>
2从已有项目生成原型
只需执行上面列举的两条命令,即可将一个已有项目安装到本地原型库:
mvn archetype:create-from-project
cd target\generated-sources\archetype
mvn install
3生成项目
3.1用原型生成项目
mvn archetype:generate -B-DarchetypeCatalog=local -DarchetypeRepository=local -DarchetypeGroupId=com.cdai.arche-DarchetypeArtifactId=test-archetype -DarchetypeVersion=0.0.1-SNAPSHOT-DgroupId=com.cdai -DartifactId=test
参考资料
使用maven3 创建自定义的archetype
http://blog.csdn.net/uncleja/article/details/7252780
定制Maven原型生成项目的更多相关文章
- 【转】idea 用maven骨架生成项目速度慢的问题
转自:http://9leg.com/maven/2015/02/01/why-is-mvn-archetype-generate-so-low.html 最近从IntelliJ Idea 14的Co ...
- 用maven骨架生成项目速度慢的问题
最近从IntelliJ Idea 14的Community版本切换到Ultimate. 问题出现 最近从IntelliJ Idea 14的Community版本切换到Ultimate,key是从网络上 ...
- Maven骨架生成项目速度慢问题解决办法
在创建maven project时(使用了archetype),速度慢的令人不敢相信,从Idea的控制台可以看到信息停留在: [INFO] <<< maven-archetype-p ...
- idea 用maven骨架生成项目速度慢的问题
使用mvn archetype:generate命令时,加上-DarchetypeCatalog=local archetypeCatalog=local
- Maven原型骨架及常见问题
关于Maven原型工程的制作就不在这里详细介绍了,具体细节请参考之前的文章:定制Maven原型生成项目 下面分享制作和使用Maven原型工程时碰到的常见问题,以及原型的上传和使用方法. 1.模块路径问 ...
- Maven使用archetype迅速生成项目骨架
archetype意思是"原型",相当于项目模板.archetype是maven的一个插件,相当于模板工具包. 一个十分重要的mvn指令:mvn 插件名:目标名maven自带三个内 ...
- Maven之自定义archetype生成项目骨架(一)
Maven之自定义archetype生成项目骨架(一) 标签: mavennexus插件 2015-07-15 16:40 2443人阅读 评论(0) 收藏 举报 分类: Maven技术(9) ...
- (转)Maven之自定义archetype生成项目骨架
背景:最近在开发一个项目的基础构件,在以后项目的开发过程中可以直接使用该构件快速的生成项目骨架进行开发. 摘要:使用过Maven的人都知道maven中有许多功能都是通过插件来提供的,今天我们来说一下其 ...
- maven3实战之maven使用入门(使用archetype生成项目骨架)
maven3实战之maven使用入门(使用archetype生成项目骨架) ---------- maven提供了archetype以帮助我们快速勾勒出项目骨架.以Hello World为例,我们使用 ...
随机推荐
- String 类
一.String类String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象.java把String类声明的final类,不能有类.String类对象创建 ...
- hadoop hdfs 高可用
单点故障: 如果某一个节点或服务出了问题,导致服务不可用 单点故障解决方式: 1.给容易出故障的地方安排备份 2.一主一备,要求同一时刻只能有一个对外提供服务 3.当active挂掉之后,standb ...
- 搭建 RabbitMQ Server 高可用集群
阅读目录: 准备工作 搭建 RabbitMQ Server 单机版 RabbitMQ Server 高可用集群相关概念 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 ...
- C++ 程序在运行时不显示dos界面
在程序最开始处加一句: #pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" ) PS: 在VS中 ...
- javascript 中如何判断是否是JSON格式的字符串
var stringToJson = function(value){ try{ eval('('+value+')'); return angular.fromJson(value); } catc ...
- spring cloud 入门系列四:使用Hystrix 实现断路器进行服务容错保护
在微服务中,我们将系统拆分为很多个服务单元,各单元之间通过服务注册和订阅消费的方式进行相互依赖.但是如果有一些服务出现问题了会怎么样? 比如说有三个服务(ABC),A调用B,B调用C.由于网络延迟或C ...
- 详解BLE连接建立过程
同一款手机,为什么跟某些设备可以连接成功,而跟另外一些设备又连接不成功?同一个设备,为什么跟某些手机可以建立连接,而跟另外一些手机又无法建立连接?同一个手机,同一个设备,为什么他们两者有时候连起来很快 ...
- /usr,/usr/local/ 还是 /opt ?
Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的(好吧处女座表示完全不能接受不正确的路径选择,看着会不舒服的……) /usr:系统级的目录,可以理解为C:/Windows/, ...
- ubuntu ssh 防止登陆断开
client 端: echo -e '\nServerAliveInterval 30' >> ~/.ssh/ssh_config server 端: echo -e '\nClientA ...
- 拦截器(Interceptor)中的invocation.invoke()
关于在Struts2的自定义的验证拦截器(Interceptor)中的invocation.invoke()是什么意思? package com.xjtu.interceptor; import co ...