,通過該插件可以自定義符合我們自己需求的archetype。
一:什么是Archetype
總之,原型是一個Maven項目模板工具包。一個原型被定義為從其中相同類型的所有其它事情是由一個原始圖案或模型。名稱配合,因為我們正在努力提供一種系統,該系統提供了一種生成Maven項目的一致的手段。原型將幫助作者為用戶創建Maven項目模板,并為用戶提供了手段,產生的這些項目模板參數化的版本。
使用原型提供了一個很好的方式,迅速使開發人員在與您的項目或組織采用最佳實踐一致的方法。在Maven的項目中,我們使用原型,試圖讓我們的用戶和運行盡可能快地通過提供展示許多的Maven的功能,同時引入新的用戶通過采用Maven的最佳實踐的示例項目。在幾秒鐘內一個新的用戶可以有一個工作Maven項目作為跳板用于調查更多的功能,Maven中。我們也試圖使原型機制添加劑和由我們的意思是允許一個項目的一部分被捕獲在一個原型,使得項目的部件或方面可以被添加到現有的項目。這方面的一個很好的例子是Maven站點原型。如果,例如,您使用的快速啟動原型生成一個工作項目,你可以迅速通過使用現有項目中的網站原型創建網站的項目。你可以做這樣的事與原型。
您可能要在組織內部規范J2EE開發,所以你可能要提供原型為EJB,或者,或者您的Web服務的戰爭。一旦這些原型創建和部署在您的組織的資源庫,他們都可以在組織內使用的所有開發人員。
上面是我根據maven官網在百度翻譯出來的,大家將就著看,大概意思就是archetype是Maven項目模板工具包,也就是一個模板工程。
二:使用archetype創建項目
mvn archetype:generate
上面的命令執行后會輸出很多maven官方提供的archetype,但是這些archetype生成的項目骨架都不能夠滿足我們的需求,所以這就需要我們自己開發一個archetype來滿足我們自己的開發需求,下面我把我自己自定義這個archetype的過程記錄一下方便日后回憶。
三:創建自定義的archetype項目
1.首先使用sts(spring的一款開發工具,下載地址到spring官網)創建一個maven project,然后把配置好的一些公用的東西放到相應的目錄下面比如說會將一些常用的java代碼存放到src/main/java目錄下面;會將一些通用的配置文件放到src/main/resources目錄下面;如果是javeEE工程,還會有一些jsp等等的文件存放到src/main/webapp目錄下面,如下圖所示:
2.然后在創建的maven project的pom.xml文件中添加archetype插件,如下面所示:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.micaicms</groupId><artifactId>micaicms-pom</artifactId><version>1.0</version></parent><artifactId>micaicms-web-archetype</artifactId><packaging>jar</packaging><name>micaicms web archetype</name><description>micaicms-web-archetype</description><distributionManagement><repository><id>releases</id><name>Micaicms Releases</name><url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url></repository><snapshotRepository><id>snapshots</id><name>Micaicms Releases</name><url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url></snapshotRepository></distributionManagement><build><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-archetype-plugin</artifactId><version>2.2</version></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.5</source><target>1.5</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><configuration><encoding>UTF-8</encoding></configuration></plugin></plugins></pluginManagement></build></project>
3.運行你自己配置好的自定義的archetype項目
先執行mvn clean install
安裝該archetype項目到你的本地倉庫
發布該archetype項目到你的本地私服(nexus)
注意;這里如果你需要發布這個archetype到你的本地私服上去,那么需要在maven里面配置權限,主要是maven里面的settings.xml文件,我
的settings.xml文件配置如下,配置好以后就可以執行發布命令了
再執行mvn deploy
4.查看你剛才發布到nexus私服上去的archetype,如下圖:
四:在eclipse/sts開發工具中配置你發布到私服上的自定義的archetype
1.打開你的開發工具,eclipse或者sts,我這里是sts
2.選擇Window->Preferences->Maven->Archetypes
3.點擊Add Remote Catalog,輸入你的nexus私服中archetype的地址,我這里是
http://127.0.0.1:8081/nexus/content/groups/public/archetype-catalog.xml
輸入Description,隨便輸入都可以,我這里是micaicms-web-archetype
4.點擊Ok,點擊Apply
5.重新啟動你的開發工具eclipse或者sts
五:使用自定義的archetype生成自定義的項目骨架
1.選擇New->Maven Project->Next
2.選擇你配置好的archetype,如下圖:
3.輸入對應的groupId,artifactId,package,如下圖:
因為我已經新建過該項目了,所以我這里不能點擊Finish,你們的應該可以
4.最后生成的項目骨架如下圖:
5.修改數據庫配置文件,導入初始化sql腳本,如下圖:
6.部署項目到tomcat下面訪問即可,默認的訪問路徑為:ht:tp://localhost:8080/micaicms-ssmb/project/list
六:Maven的自定義archetype源碼工程下載地址:
https://github.com/sxdtzhaoxinguo/micaicms-web-archetype
七:Maven的自定義archetype生成的基礎項目骨架工程的下載地址:
https://github.com/sxdtzhaoxinguo/micaicms-ssmb