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

相關文章
相關標籤/搜索