maven原型_创建自定义Maven原型
maven原型
Maven原型是項(xiàng)目模板,可以幫助我們根據(jù)其類型快速創(chuàng)建maven入門項(xiàng)目 。 這是一個(gè)不費(fèi)吹灰之力地引導(dǎo)Maven項(xiàng)目的好工具。
我們可以使用多種原型。 一些流行的原型包括– maven-archetype-quickstart , maven-archetype-webapp , maven-archetype-archetype 。 要?jiǎng)?chuàng)建具有特定原型的Maven項(xiàng)目,我們可以使用:
mvn archetype:generate該命令將要求我們選擇一個(gè)原型,然后從中創(chuàng)建我們的maven項(xiàng)目。
我們還可以定義自定義原型。 當(dāng)我們的項(xiàng)目中有許多共享相同結(jié)構(gòu)的模塊化應(yīng)用程序時(shí),這特別有用。 我們可以簡(jiǎn)單地標(biāo)準(zhǔn)化用于創(chuàng)建我們的項(xiàng)目模塊的模板。
在本教程中,我們將學(xué)習(xí)創(chuàng)建和使用自己的Maven原型。
創(chuàng)建Maven原型:
從我們現(xiàn)有的項(xiàng)目之一創(chuàng)建Maven原型非常容易。 我們需要做的就是執(zhí)行:
mvn archetype:create-from-project從我們項(xiàng)目的根目錄。
(可選)我們可以使用archetype-maven-plugin直接生成原型項(xiàng)目:
mvn archetype:generate -B -DarchetypeArtifactId=maven-archetype-archetype無論哪種方式,在成功創(chuàng)建原型之后,我們都會(huì)看到在目標(biāo)/生成源/原型中生成的原型文件。
現(xiàn)在我們已經(jīng)生成了原型結(jié)構(gòu),我們可以選擇:
- 根據(jù)我們的要求,修改target / generation-sources / archetype / pom.xml以添加或刪除額外的依賴項(xiàng)
- 修改我們的原型元數(shù)據(jù)文件-target / generated-sources / archetype / src / main / resources / META-INF / maven / archetype-metadata.xml
原型元數(shù)據(jù)描述符:
讓我們快速看一下rchetype-metadata.xml包含什么。
rchetype-metadata.xml存儲(chǔ)我們?cè)偷脑獢?shù)據(jù)。 它位于 jar內(nèi)的-META-INF / maven文件夾中。
元數(shù)據(jù)文件結(jié)構(gòu)類似于:
<archetype-descriptor...name="my-custom-archetype"><requiredProperties><requiredProperty key="name"><defaultValue>ProgrammerGirl</defaultValue></requiredProperty></requiredProperties><fileSets><fileSet filtered="true" packaged="true"><directory>src/main/java</directory><includes><include>**/*.java</include></includes></fileSet></fileSets><modules><module name="sub-module-1"></module><module name="sub-module-2"></module></modules></archetype-descriptor>以下是一些重要的標(biāo)簽及其用途:
- <requiredProperties>標(biāo)記定義了從該原型生成項(xiàng)目所需的屬性。 用戶還可以選擇繼續(xù)使用屬性的defaultValue
- <fileSet>定義如何使用jar文件中的項(xiàng)目文件來生成項(xiàng)目。 如果文件或目錄名稱包含__ property __模式,則將其替換為相應(yīng)的屬性值
- 在篩選的fileSet屬性中,占位符在項(xiàng)目生成過程中被替換為提供的值
- packaged =“ true”表示所選文件將在package屬性前面的目錄結(jié)構(gòu)中生成
- 對(duì)于多模塊項(xiàng)目,我們可以使用< modules>標(biāo)記定義子模塊
建立原型:
完成對(duì)pom.xml和archetype-metadata.xml文件的修改后,就可以構(gòu)建原型項(xiàng)目。
讓我們轉(zhuǎn)到路徑/ generation-sources / archetype并執(zhí)行 :
mvn clean install它將插件安裝在我們的本地存儲(chǔ)庫中。 我們可以交叉檢查本地存儲(chǔ)庫中是否存在我們新創(chuàng)建的原型:
mvn archetype:generate -DarchetypeCalalog=local使用創(chuàng)建的原型:
到現(xiàn)在為止,我們已經(jīng)在本地存儲(chǔ)庫中成功安裝了自定義原型。 為了從這個(gè)新創(chuàng)建的原型生成一個(gè)項(xiàng)目,我們將使用:
mvn archetype:generate -DarchetypeGroupId=com.programmergirl.archetypes-DarchetypeArtifactId=my-custom-archetype-DarchetypeVersion=1.0-SNAPSHOT-DgroupId=com.programmergirl-DartifactId=sample-project-Dversion=1.0-SNAPSHOT其中com.programmergirl.archetypes和my-custom-archetype是我們先前創(chuàng)建的主要原型項(xiàng)目的groupId和artifactId 。 參數(shù)-DgroupId和-DartifactId指定新生成的項(xiàng)目的groupId和artifactId 。
結(jié)論:
在本教程中,我們討論了如何創(chuàng)建自定義Maven原型并使用它來生成多個(gè)項(xiàng)目。
翻譯自: https://www.javacodegeeks.com/2019/05/creating-custom-maven-archetype.html
maven原型
總結(jié)
以上是生活随笔為你收集整理的maven原型_创建自定义Maven原型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 趁其不备的意思是 什么是趁其不备
- 下一篇: vm 安装jdk1.8_JDK 13:V