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