(转)Maven之自定义archetype生成项目骨架
背景:最近在開(kāi)發(fā)一個(gè)項(xiàng)目的基礎(chǔ)構(gòu)件,在以后項(xiàng)目的開(kāi)發(fā)過(guò)程中可以直接使用該構(gòu)件快速的生成項(xiàng)目骨架進(jìn)行開(kāi)發(fā)。
?
摘要:使用過(guò)Maven的人都知道m(xù)aven中有許多功能都是通過(guò)插件來(lái)提供的,今天我們來(lái)說(shuō)一下其中的一個(gè)插件:maven-archetype-plugin
,通過(guò)該插件可以自定義符合我們自己需求的archetype。
?
一:什么是Archetype
總之,原型是一個(gè)Maven項(xiàng)目模板工具包,也就是一個(gè)模板工程。
二:使用archetype創(chuàng)建項(xiàng)目
mvn archetype:generate上面的命令執(zhí)行后會(huì)輸出很多maven官方提供的archetype,但是這些archetype生成的項(xiàng)目骨架都不能夠滿足我們的需求,所以這就需要我們自己開(kāi)發(fā)一個(gè)archetype來(lái)滿足我們自己的開(kāi)發(fā)需求,下面我把我自己自定義這個(gè)archetype的過(guò)程記錄一下方便日后回憶。
?
三:創(chuàng)建自定義的archetype項(xiàng)目
1.首先使用sts(spring的一款開(kāi)發(fā)工具,下載地址到spring官網(wǎng))創(chuàng)建一個(gè)maven project,然后把配置好的一些公用的東西放到相應(yīng)的目錄下面比如說(shuō)會(huì)將一些常用的java代碼存放到src/main/java目錄下面;會(huì)將一些通用的配置文件放到src/main/resources目錄下面;如果是javeEE工程,還會(huì)有一些jsp等等的文件存放到src/main/webapp目錄下面,如下圖所示:
?
2.然后在創(chuàng)建的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.運(yùn)行你自己配置好的自定義的archetype項(xiàng)目
先執(zhí)行
mvn clean install安裝該archetype項(xiàng)目到你的本地倉(cāng)庫(kù)
發(fā)布該archetype項(xiàng)目到你的本地私服(nexus)
ps:這里如果你需要發(fā)布這個(gè)archetype到你的本地私服上去,那么需要在maven里面配置權(quán)限,主要是maven里面的settings.xml文件,我
的settings.xml文件配置如下,配置好以后就可以執(zhí)行發(fā)布命令了
再執(zhí)行
mvn deploy?
4.查看你剛才發(fā)布到nexus私服上去的archetype,如下圖:
?
?
四:在eclipse/sts開(kāi)發(fā)工具中配置你發(fā)布到私服上的自定義的archetype
1.打開(kāi)你的開(kāi)發(fā)工具,eclipse或者sts,我這里是sts
2.選擇Window->Preferences->Maven->Archetypes
3.點(diǎn)擊Add Remote Catalog,輸入你的nexus私服中archetype的地址,我這里是
http://127.0.0.1:8081/nexus/content/groups/public/archetype-catalog.xml
輸入Description,隨便輸入都可以,我這里是micaicms-web-archetype
4.點(diǎn)擊Ok,點(diǎn)擊Apply
5.重新啟動(dòng)你的開(kāi)發(fā)工具eclipse或者sts
?
五:使用自定義的archetype生成自定義的項(xiàng)目骨架
1.選擇New->Maven Project->Next
2.選擇你配置好的archetype,如下圖:
?
3.輸入對(duì)應(yīng)的groupId,artifactId,package,如下圖:
因?yàn)槲乙呀?jīng)新建過(guò)該項(xiàng)目了,所以我這里不能點(diǎn)擊Finish,你們的應(yīng)該可以
?
4.最后生成的項(xiàng)目骨架如下圖:
?
5.修改數(shù)據(jù)庫(kù)配置文件,導(dǎo)入初始化sql腳本,如下圖:
?
6.部署項(xiàng)目到tomcat下面訪問(wèn)即可,默認(rèn)的訪問(wèn)路徑為:ht:tp://localhost:8080/micaicms-ssmb/project/list
?
六:Maven的自定義archetype源碼工程下載地址:
https://github.com/sxdtzhaoxinguo/micaicms-web-archetype
?
七:Maven的自定義archetype生成的基礎(chǔ)項(xiàng)目骨架工程的下載地址:
https://github.com/sxdtzhaoxinguo/micaicms-ssmb
?
轉(zhuǎn)載于:https://www.cnblogs.com/lixuwu/p/8064739.html
總結(jié)
以上是生活随笔為你收集整理的(转)Maven之自定义archetype生成项目骨架的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: npm 常用指令
- 下一篇: HttpClient-01基本概念