Archetype介紹
Archetype
是一個Maven項目的模板工具包,它定義了一類項目的基本架構(gòu)帜讲。Archetype
為開發(fā)人員提供了創(chuàng)建Maven項目的模板,同時它也可以根據(jù)已有的Maven項目生成參數(shù)化的模板。通過Archetype
群嗤,開發(fā)人員可以很方便地將一類項目的最佳實現(xiàn)應用到自己的項目中。在一個Maven項目中兵琳,開發(fā)者可以通過Archetype
提供的范例快速入門并了解該項目的結(jié)構(gòu)與特點狂秘。
官方文檔:https://maven.apache.org/archetype/index.html
Archetype使用
IDEA中創(chuàng)建
在IDEA中骇径,我們可以通過New Project – Maven – Create from archetype
,選擇某個archetype
快速創(chuàng)建模板項目
命令創(chuàng)建
mvn archetype:generate
- 輸入命令后,Archetype插件會輸出一個Archetype列表供用戶選擇者春;選擇自己想要使用的Archetype破衔,輸入對應編號
- 提示輸入一些基本參數(shù),如groupId,artifactId,version,package等
-
Archetype插件生成項目骨架
過濾器方式創(chuàng)建
跳過了選擇
archetype
步驟
常用的archetype
maven-archetype-quickstart
默認的Archetype,基本內(nèi)容包括:
- 一個包含junit依賴聲明的pom.xml
- src/main/java主代碼目錄及一個名為App的類
- src/test/java測試代碼目錄及一個名為AppTest的測試用例
maven-archetype-webapp
一個最簡單的Maven war項目模板钱烟,當需要快速創(chuàng)建一個Web應用的時候可以使用它晰筛。生成的項目內(nèi)容包括:
- 一個packaging為war且?guī)в衘unit依賴聲明的pom.xml
- src/main/webapp/目錄
- src/main/webapp/index.jsp文件
- src/main/webapp/WEB-INF/web.xml文件
Archetype開發(fā)
創(chuàng)建自定義模板
1.在maven項目下,執(zhí)行mvn archetype:create-from-project
拴袭,在target/generated-sources/archetype
目錄下生成Archetype project
2.cd target/generated-sources/archetype
后读第,mvn install
安裝archetype project到本地倉庫
ps:如果是maven多模塊項目,在根目錄下執(zhí)行mvn archetype:create-from-project
mvn install后拥刻,會在本地的maven倉庫卦方,按照maven坐標創(chuàng)建對應的archetype文件
官方介紹:https://maven.apache.org/archetype/maven-archetype-plugin/advanced-usage.html
例子:
本地倉庫中生成的archetype模板
使用自定義模板
1.在當前的目錄下,mvn archetype:generate -DarchetypeCatalog=local
泰佳,查看本地archetype列表
2.choose number盼砍,按步驟輸入基本參數(shù)groupId/artifactId/version/package
3.在當前目錄下,以artifactId為目錄創(chuàng)建一個新的項目
添加到IDEA
添加自定義屬性參數(shù)
Archetype配置
mvn archetype:generate -DarchetypeCatalog=local
對應的本地archetype列表逝她,在本地maven倉庫的archetype-catalog.xml中 ,比如: ~/.m2/repository/archetype-catalog.xml
IDEA中的archtype配置,在 ~/Library/Caches/IntelliJIdea2017.1/Maven/Indices/UserArchetypes.xml中