IDEA自定義Maven archetype的方法步驟
為什么要自定義archetype
在創(chuàng)建Maven的項(xiàng)目時(shí)我們發(fā)現(xiàn)了一個(gè)很不方便的問題,就是每次創(chuàng)建Maven的工程的時(shí)候,都需要選擇一個(gè)骨架,但是每個(gè)骨架都需要?jiǎng)h除一部分東西才行,在平時(shí)開發(fā)中,如果是分布式項(xiàng)目,有可能會(huì)頻繁創(chuàng)建子項(xiàng)目,每次都要?jiǎng)h除不要的文件然后拷貝我們要的文件,例如彈簧配置,web.xml中配置等。這樣做不僅會(huì)浪費(fèi)大量時(shí)間,拷貝和刪除文件也容易導(dǎo)致錯(cuò)誤的發(fā)生,比如漏拷某文件。
Archetype maven 項(xiàng)目的組成
一個(gè)典型的Archetype Maven項(xiàng)目主要包括如下幾個(gè)部分:
- pom.xml:Archetype自身的POM。
- src/main/resources/archetype-resources/pom.xml:基于該Archetype生成項(xiàng)目的POM原型。
- src/main/resources/META-INF/maven/archetype-metadata.xml:Archetype的描述符文件。
- src/main/resources/archetype-resources/**:其他需要包含在Archetype中的內(nèi)容。
創(chuàng)建自己的骨架結(jié)構(gòu)
要?jiǎng)?chuàng)建Maven的模板,首先你要?jiǎng)?chuàng)建一個(gè)Maven的項(xiàng)目,然后再以這個(gè)項(xiàng)目作為模板。
創(chuàng)建maven工程
首先創(chuàng)建一個(gè)Maven的工程,名字叫maven-template-java-simple
選擇骨架
骨架創(chuàng)建
在maven-template-java-simple根目錄執(zhí)行
mvn archetype:create-from-project
報(bào)錯(cuò)解決
mvn archetype:create-from-project報(bào)錯(cuò)The specified user settings file does not exist
settings.xml文件可能存在兩個(gè)位置:
Maven安裝:${maven.home}/conf/settings.xml
用戶安裝:${user.home}/.m2/settings.xml
前一個(gè)settings.xml也稱為全局設(shè)置,后者的settings.xml稱為用戶設(shè)置。
如果兩個(gè)文件都存在,它們的內(nèi)容將被合并,用戶特定的settings.xml看作是主要的。
如果從頭創(chuàng)建用戶特定的設(shè)置,最簡單的方法是將Maven安裝中的全局設(shè)置復(fù)制到${user.home}/.m2目錄
。
Maven的默認(rèn)settings.xml是一個(gè)包含注釋和示例的模板,因此可以快速調(diào)整以滿足需求。
自定義 archetype 模板時(shí),運(yùn)行mvn archetype:create-from-project
時(shí)報(bào)錯(cuò):The specified user settings file does not exist: C:\Users\modao\.m2\settings
,原因是用戶配置文件不存在,把全局配置文件復(fù)制了一份過去就解決了。
執(zhí)行完畢之后,會(huì)出現(xiàn)一個(gè)編譯之后新的maven工程(target文件夾),如下圖:
骨架安裝
安裝對(duì)應(yīng)骨架項(xiàng)目
先進(jìn)入骨架項(xiàng)目的pom文件目錄:
cd target/generated-sources/archetype
執(zhí)行安裝:
mvn clean install
我們的骨架項(xiàng)目坐標(biāo)如下:
<groupId>com.terwergreen</groupId> <artifactId>maven-template-java-simple-archetype</artifactId> <version>1.0.0</version> <packaging>maven-archetype</packaging>
至此,骨架項(xiàng)目安裝成功。
使用自己創(chuàng)建的自定義骨架
創(chuàng)建新的Maven工程,選擇自定義骨架
添加骨架
創(chuàng)建新的maven工程,選擇Add Archetype,填寫剛才添加的骨架工程坐標(biāo),點(diǎn)擊OK,這是會(huì)生成一個(gè)新的骨架選項(xiàng)。
groupId com.terwergreen artifactId maven-template-java-simple-archetype version 1.0.0
選中新創(chuàng)建的骨架,點(diǎn)擊下一步創(chuàng)建新的Maven的項(xiàng)目如下,這是新建的測(cè)試項(xiàng)目:
以后再創(chuàng)建類似的Maven的項(xiàng)目時(shí),就可以快速新建的Maven項(xiàng)目而不用改來改去了。是不是很方便呢?
PS:刪除自定義archetype
cd /Users/terwer/Library/Caches/JetBrains/IntelliJIdea2021.3/Maven/Indices
然后編輯 UserArchetypes.xml 文件即可。注意:修改文件之后需要重啟IDEA。
到此這篇關(guān)于IDEA自定義Maven archetype的方法步驟的文章就介紹到這了,更多相關(guān)IDEA自定義Maven archetype內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- eclipse maven maven-archetype-webapp 創(chuàng)建失敗問題解決
- 使用Maven Archetype插件構(gòu)建Maven工程原型模板的實(shí)例
- 使用maven-archetype-plugin現(xiàn)有項(xiàng)目生成腳手架的方法
- 手把手教你寫Maven的archetype項(xiàng)目腳手架
- 教你如何在IDEA?中添加?Maven?項(xiàng)目的?Archetype(解決添加不起作用的問題)
- idea中使用maven?archetype新建項(xiàng)目時(shí)卡住問題解決方案
- maven中自定義MavenArchetype的實(shí)現(xiàn)
相關(guān)文章
mybatis?mapper.xml中如何根據(jù)數(shù)據(jù)庫類型選擇對(duì)應(yīng)SQL語句
這篇文章主要介紹了mybatis?mapper.xml中如何根據(jù)數(shù)據(jù)庫類型選擇對(duì)應(yīng)SQL語句,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01Java中xxl-job實(shí)現(xiàn)分片廣播任務(wù)的示例
本文主要介紹了Java中xxl-job實(shí)現(xiàn)分片廣播任務(wù)的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03IDEA2020.2創(chuàng)建springboot項(xiàng)目卡死在reading maven project的問題
這篇文章主要介紹了關(guān)于2020.2IDEA用spring Initializr創(chuàng)建maven的springboot項(xiàng)目卡死在reading maven project的問題描述及解決方法,感興趣的朋友跟隨小編一起看看吧2020-09-09JAVA的LIST接口的REMOVE重載方法調(diào)用原理解析
這篇文章主要介紹了JAVA的LIST接口的REMOVE重載方法調(diào)用原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10Java基于Spire Cloud Excel把Excel轉(zhuǎn)換成PDF
這篇文章主要介紹了Java基于Spire Cloud Excel把Excel轉(zhuǎn)換成PDF,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05