IDEA自定義Maven archetype
2022/03/14 驗證通過
文章更新歷史
2022/03/03 初稿。
為什麼要自定義archetype
在創建Maven的項目時我們發現了一個很不方便的問題,就是每次創建Maven的工程的時候,都需要選擇一個骨架,但是每個骨架都需要刪除一部分東西才行,在平時開發中,如果是分散式項目,有可能會頻繁創建子項目,每次都要刪除不要的文件然後拷貝我們要的文件,例如彈簧配置,web.xml中配置等。這樣做不僅會浪費大量時間,拷貝和刪除文件也容易導致錯誤的發生,比如漏拷某文件。
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中的內容。
創建自己的骨架結構
要創建Maven的模板,首先你要創建一個Maven的項目,然後再以這個項目作為模板。
創建maven工程
首先創建一個Maven的工程,名字叫maven-template-java-simple
選擇骨架
骨架創建
在maven-template-java-simple根目錄執行
mvn archetype:create-from-project
報錯解決
mvn archetype:create-from-project報錯The specified user settings file does not exist
//www.cnblogs.com/chmod/p/15489910.html
執行完畢之後,會出現一個編譯之後新的maven工程(target文件夾),如下圖:
骨架安裝
安裝對應骨架項目
先進入骨架項目的pom文件目錄:
cd target/generated-sources/archetype
執行安裝:
mvn clean install
我們的骨架項目坐標如下:
<groupId>com.terwergreen</groupId>
<artifactId>maven-template-java-simple-archetype</artifactId>
<version>1.0.0</version>
<packaging>maven-archetype</packaging>
至此,骨架項目安裝成功。
使用自己創建的自定義骨架
創建新的Maven工程,選擇自定義骨架
添加骨架
創建新的maven工程,選擇Add Archetype,填寫剛才添加的骨架工程坐標,點擊OK,這是會生成一個新的骨架選項。
groupId com.terwergreen
artifactId maven-template-java-simple-archetype
version 1.0.0
選中新創建的骨架,點擊下一步創建新的Maven的項目如下,這是新建的測試項目:
以後再創建類似的Maven的項目時,就可以快速新建的Maven項目而不用改來改去了。是不是很方便呢?
PS:刪除自定義archetype
cd /Users/terwer/Library/Caches/JetBrains/IntelliJIdea2021.3/Maven/Indices
然後編輯 UserArchetypes.xml 文件即可。注意:修改文件之後需要重啟IDEA。