maven中archetype(原型)的使用及建立
當我們在idea中建立專案時,經常會見到如下介面選擇:
archetype也就是原型,準確說是一個專案模板,我們可以根據該模板來生成專案。
我就不介紹圖形介面的建立方式了,一步一步太囉嗦了,我們用命令方式建立。
建立一個常見的webapp專案。
命令如下:
mvn archetype:generate -DgroupId=com.cj -DartifactId=webAppDemo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
archetype:generate //archetype代表外掛名,generate代表目標,一個外掛有多個目標
意思就是我們通過archetype外掛建立一個webapp專案,專案的groupId是com.cj,專案id是webAppDemo.使用的專案archetype是maven-archetype-webapp。也就是一個java web專案。interactiveMode= false,代表在執行過程中,使用者不能進行輸入操作。預設是true,需要使用者進行操作。
這裡我們用到了一個外掛archetype,執行他的generate目標來建立專案,當然還有其他目標,比如:create-from-project,下面我會介紹。
看下上面建立的結果和專案結構:
上面建立完的專案還不是很標準的webapp專案,我們還要作寫處理,參考:
好了,上面介紹瞭如何使用原型建立專案,再來介紹如何根據自己的專案建立原型。
在專案的根目錄,執行如下命令:
1.mvn archetype:create-from-project
它會生成archetype專案的相關檔案。
2.mvn install
切換到專案的target/generated-sources/archetype/下,執行上面命令,我們要對archetype專案打包。
可以看到,我們已經生成了archetype專案。
那我們來測試下,根據我們生成的archetype專案來生成項專案,有2種方法。
方法1:利用自動生成的archetype-catalog.xml來建立專案。
當我們install後,會在~/m2.目錄生成如下定義archetype檔案:
<?xml version="1.0" encoding="UTF-8"?>
<archetype-catalog xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0 http://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.chenjun</groupId>
<artifactId>springBootAop-archetype</artifactId>
<version>1.0.1</version>
<description>Spring Boot AOP Sample</description>
</archetype>
</archetypes>
</archetype-catalog>
我們執行:mvn archetype:generate -DarchetypeCatalog=local
表示利用本地archetype-catalog.xml定義的archetype來建立專案。
方法2:需要將install後的achetype專案copy到外掛查詢目錄org\apache\maven\archetypes
可以看到,利用自己生成的archetype,能夠生成我們自己的專案了。
PS:記得把自己installl的archetype的jar,手工copy到本地倉庫的org\apache\maven\archetypes目錄下,因為是從該目錄下查詢本地外掛。
總結:
一、根據archetype建立專案的命令
mvn archetype:generate -DgroupId=com.cj -DartifactId=webAppDemo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
二、根據專案生成archetype的命令
1.mvn archetype:create-from-project //生成archetype專案檔案
2.cd target/generated-sources/archetype/ //切換到archetype專案跟目錄
3.mvn install //對archetype專案打包安裝
4.mvn archetype:generate -DarchetypeCatalog=local //利用local本地提供的archetype建立專案