创建自定义Maven原型
Maven原型是項目模板,可以幫助我們根據(jù)其類型快速創(chuàng)建maven入門項目 。 這是一個非常省力的引導Maven項目的好工具。
有許多可供選擇的原型。 一些流行的原型包括– maven-archetype-quickstart , maven-archetype-webapp , maven-archetype-archetype 。 要創(chuàng)建具有特定原型的Maven項目,我們可以使用:
mvn archetype:generate該命令將要求我們選擇一個原型,然后從中創(chuàng)建我們的maven項目。
我們還可以定義自定義原型。 當我們的項目中有許多共享相同結(jié)構(gòu)的模塊化應(yīng)用程序時,這特別有用。 我們可以簡單地標準化用于創(chuàng)建我們的項目模塊的模板。
在本教程中,我們將學習創(chuàng)建和使用我們自己的Maven原型。
創(chuàng)建Maven原型:
從我們現(xiàn)有的項目之一創(chuàng)建Maven原型非常容易。 我們需要做的就是執(zhí)行:
mvn archetype:create-from-project從我們項目的根目錄。
(可選)我們可以使用archetype-maven-plugin直接生成原型項目:
mvn archetype:generate -B -DarchetypeArtifactId=maven-archetype-archetype無論哪種方式,在成功創(chuàng)建原型后,我們都會看到在目標/生成源/原型中生成的原型文件。
現(xiàn)在我們已經(jīng)生成了原型結(jié)構(gòu),我們可以選擇:
- 根據(jù)我們的要求,修改target / generation-sources / archetype / pom.xml以添加或刪除額外的依賴項
- 修改我們的原型元數(shù)據(jù)文件-target / generated-sources / archetype / src / main / resources / META-INF / maven / archetype-metadata.xml
原型元數(shù)據(jù)描述符:
讓我們快速看一下rchetype-metadata.xml包含什么。
rchetype-metadata.xml存儲我們原型的元數(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>以下是一些重要的標簽及其用途:
- <requiredProperties>標記定義了從該原型生成項目所需的屬性。 用戶還可以選擇繼續(xù)使用屬性的defaultValue
- <fileSet>定義如何使用jar文件中的項目文件來生成項目。 如果文件或目錄名稱包含__ property __模式,則將其替換為相應(yīng)的屬性值
- 在篩選的fileSet屬性中,占位符在項目生成過程中被替換為提供的值
- packaged =“ true”表示所選文件將在package屬性前面的目錄結(jié)構(gòu)中生成
- 對于多模塊項目,我們可以使用< modules>標記來定義子模塊
建立原型:
完成對pom.xml和archetype-metadata.xml文件的修改后,就可以構(gòu)建原型項目。
讓我們轉(zhuǎn)到路徑/ generation-sources / archetype并執(zhí)行 :
mvn clean install它將插件安裝在我們的本地存儲庫中。 我們可以交叉檢查本地存儲庫中是否存在我們新創(chuàng)建的原型:
mvn archetype:generate -DarchetypeCalalog=local使用創(chuàng)建的原型:
到現(xiàn)在為止,我們已經(jīng)在本地存儲庫中成功安裝了自定義原型。 為了從這個新創(chuà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)建的主要原型項目的groupId和artifactId 。 參數(shù)-DgroupId和-DartifactId指定新生成的項目的groupId和artifactId 。
結(jié)論:
在本教程中,我們討論了如何創(chuàng)建自定義Maven原型并使用它來生成多個項目。
翻譯自: https://www.javacodegeeks.com/2019/05/creating-custom-maven-archetype.html
總結(jié)
以上是生活随笔為你收集整理的创建自定义Maven原型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Word文档如何实现单页横向设置
- 下一篇: 具有Azure功能的无服务器API