Maven Archetype 使用 命令

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

主要命令:
  • archetype:generate   从项目骨架建立一个maven项目,老版本里使用的是archetype:create 
  • archetype:create-from-project  根据一个项目建立项目骨架

使用archetype:generate建立项目 java

 mvn archetype:generate命令参数解释
项目相关参数: web

参数 sql

含义 apache

groupId 网络

当前应用程序隶属的Group的ID app

artifactId  webapp

当前应用程序的ID jsp

package maven

代码生成时使用的根包的名字,若是没有给出,默认使用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

相关文章
相关标签/搜索