自定義多模塊的maven骨架(好多圖)


1、為什么要生成自己的maven腳手架(maven骨架)?

問題背景:

1.1 目前公司中沒有統一使用模板工程,都是每個業務線根據自己的之前項目去創建新項目。沒有統一的工程結構規范,

1.2 重新搭建也很浪費時間,而且會出錯。(作為一個准時下班的程序員,必須要高效率,高質量地完成任務)

所以我們必須使用統一的模板工程,這是這篇文章的目標。

 

2、如何搭建我們的maven腳手架呢?(請認真,一步一步跟着操作)

2.1 選定自己的一個工程,我們利用這個工程生成模板工程

2.2 加入生成骨架的插件

 

2.3 使用maven命令生成骨架(注意:這里有個坑。如果你使用IDEA上的maven窗口,需要注意,使用的maven是自己下載的maven還是IDEA的maven

 2.3.1 使用IDEA右側的MAVEN工具欄目(推薦,既然有工具,為啥不用呢?)

 

2.3.2 手動用maven命令(注意,這里有坑,使用這種方式,本質是用了配置在系統全局變量里面的maven_home對應地址的maven)

 

2.4 調整骨架里面的內容(主要花時間在這里調整代碼的細節。)

 

考慮的點:

1、既然是通用性。那么數據庫的賬號和密碼,最好分配只有操作某一張演示表的權限。

2、spring boot 啟動類,到底放在什么文件夾下?這個要根據公司的約定吧。本質是,spring boot啟動類,在啟動的時候,只會掃描當前包下的所有的包。(反面例子:依賴的一個公司的依賴包,某個client,是放在com.common下。如果啟動類放在com.xiaoming下,那么啟動類就掃描不到這個client類)

 

2.4.1 動態文件名需要__A-api__(兩個雙下划線)

2.4.2 文件內的內容需要動態替換,用到${archetype}

2.4.3 用戶輸入的groupId,會替換${package}里面的package。例如:groupId為com.ving,則 import com.ving.***

2.4.4 用戶輸入的archetypeId,會替換${archetype}和${rootarchetype}

2.4.5 用戶輸入的version,會替換${version}

2.4.6 archetype-metadata.xml(這個文件很重要)

 

3.1 如何將骨架安裝到本地倉庫?

經過多次的調整骨架之后,需要安裝到本地倉庫(如果確定骨架沒有變動之后,可以推送送到公司的私服maven倉庫中)

使用maven的Install命令即可

 

 檢查本地倉庫是否安裝成功

 

3.2 如何將骨架推送到公司私服倉庫?

在骨架的父pom文件中,添加maven私服地址(這個是maven的知識,如果有不知道同學,可以自行了解)

 

執行deploy命令,完成推送到私有庫(一般情況下,將骨架工程,打成壓縮包,給公司的運維同事,讓他幫忙執行deploy命令,將jar包推送到私有倉庫)

 

 

4 如何使用我們剛剛定義的maven骨架,創建新的工程?

4.1 打開IDEA

4.2 點擊File--->New--->Project--->Maven-→勾選Create from archetype --→點擊Add Archetype

 

 

4.3 輸入GroupId,ArtifactId,Version

<groupId>com.XXX.framework</groupId>
<artifactId>ky-project-sample-archetype</artifactId>
<version>1.0.0-SNAPSHOT</version>

 

4.4 選擇模板工程

 

 

 4.5 之后都是下一步,下一步完成操作。

總結:上面是我在公司生成的maven骨架的全部工程。最花時間的步驟是調整maven骨架的代碼。總體實現難度不大。


免責聲明!

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



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