IDEA自定義Maven的archetype


在創建 Maven 的項目時我們發現了一個很不方便的問題,就是每次創建 Maven 的工程的時候,都需要選擇一個骨架,但是每個骨架都需要刪除一部分東西才行,這樣的話實在是太不方便了。

為什么要自定義 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

https://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。

手動添加的方法:

解決添加失效問題(IDEA2022.1 以下版本有效,不包括 IDEA2022.1)

cd ~/Library/Caches/JetBrains

找到對應版本目錄,例如

cd /Users/terwer/Library/Caches/JetBrains/IntelliJIdea2021.3/Maven/Indices

然后新建一個 UserArchetypes.xml​ 文件,內容如下:

<archetypes>
    <archetype groupId="com.terwergreen" artifactId="maven-template-java-simple-archetype" version="1.0.3" />
</archetypes>

重啟 IDEA 就可以了。

IDEA 2022.1 的變化

IDEA2022 在 Add​ 完成之后,下次新建需要切換 Catalog 到 Default Local​,然后才能在 Archetype​ 中選擇到。

image-20220421135052088

IDEA 2022.3 注意事項

IDEA2022.3 需要自己填寫下面的內容:

最新可用源碼

https://github.com/terwer/maven-template-java-simple

2022/03/14 驗證通過

文章更新歷史

2022/03/03 初稿。

2022/04/21 兼容 IDEA 2022.1 。提供使用的新方法。

2023/02/22 兼容 IDEA 2033.3 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM