您的位置:首页 > 其它

Maven Archetype 使用 命令

2015-08-22 07:11 381 查看
摘要: 什么是Maven Archetype? 简单的说就是一个Maven项目的基础模板,利用这个模板我们就可快速的建立一个新的该类型项目,同时也可以建立自己的项目骨架。
Maven所提供的archetype功能都是由插件Maven Archetype Plugin完成的
官网地址:http://maven.apache.org/archetype/maven-archetype-plugin/

什么是Maven Archetype? 简单的说就是一个Maven项目的基础模板,利用这个模板我们就可快速的建立一个新的该类型项目,同时也可以建立自己的项目骨架。
Maven所提供的archetype功能都是由插件Maven Archetype Plugin完成的
官网地址:http://maven.apache.org/archetype/maven-archetype-plugin/
主要命令:

archetype:generate 从项目骨架创建一个maven项目,老版本里使用的是archetype:create

archetype:create-from-project 根据一个项目创建项目骨架

使用archetype:generate创建项目
mvn archetype:generate命令参数解释
项目相关参数:
参数
含义
groupId
当前应用程序隶属的Group的ID
artifactId
当前应用程序的ID
package
代码生成时使用的根包的名字,如果没有给出,默认使用archetypeGroupId
原型有关参数表
参数 含义
archetypeGroupId
原型(archetype)的Group ID
archetypeArtifactId
原型(archetype)ID
archetypeVersion
原型(archetype)版本
archetypeRepository
包含原型(archetype)的资源库
archetypeCatalog
archetype分类,这里按位置分类有:
‘local’ 本地,通常是本地仓库的archetype-catalog.xml文件
‘remote’ 远程,是maven的中央仓库
file://...' 直接指定本地文件位置archetype-catalog.xml http://...' or 'https://...' 网络上的文件位置 archetype-catalog.xml
'internal'
默认值是remote,local
filter
查找时过滤artifactId or groupId:artifactId
package
代码生成时使用的根包的名字,如果没有给出,默认使用archetypeGroupId
命令示例:
新建一个简单web项目
mvn archetype:generate -DgroupId=com.charles
-DartifactId=webappdemo
-Dpackage=com.charles.webappdemo
-DarchetypeArtifactId=maven-archetype-webapp
-Dversion=1.0 -DinteractiveMode=No
新建一个struts2 web项目
mvn archetype:generate -B -DgroupId=com.mycompany.mysystem
-DartifactId=myWebApp
-DarchetypeGroupId=org.apache.struts
-DarchetypeArtifactId=struts2-archetype-convention
-DarchetypeVersion=<CURRENT_STRUTS_VERSION>
-DremoteRepositories=http://struts.apache.org
maven默认提供的archetype类型可以参考http://maven.apache.org/guides/introduction/introduction-to-archetypes.html

从一个已有项目生成一个archetype

mvn clean archetype:create-from-project -Darchetype.properties=./archetype.properties -Darchetype.filteredExtentions=java,xml,jsp,properties,sql

这里首先定义了一个archetype.properties文件在命令行被执行的目录,里面的内容是
tablePrefix是QucikStart项目里用到的,想在新项目中替换掉的内容。
-DfilteredExtentions,因为maven默认不会扫描sql文件,而这里是希望修改tablePrefix的.
properties参考http://maven.apache.org/archetype/maven-archetype-plugin/create-from-project-mojo.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  maven archetype plugin