在新建工程前,先了解一下什么是敏捷開發“松結對編程”及“L型代碼結構”這里有詳細的介紹和說明 : 敏捷開發“松結對編程”系列之十一:L型代碼結構(團隊篇之一)
使用Maven創建項目之前,我們要對工程有一個大概的規划,為了保持類庫統一管理,引入的jar包版本不沖突,我們需要用到Maven的BOM功能以及Spring IO platform推出的BOM功能:
- Maven BOM定義一整套相互兼容的jar包版本集合,使用時只需要依賴該BOM文件,即可放心地使用需要的依賴jar包,且無需再指定版本號。
- Spring IO Platform只是一個pom文件,記錄了spring與其他開源項目對應的版本,不同模塊或者與外部進行集成時,只要項目中引入了它,外部集成時依賴關系無需版本號。
Spring IO Platform在引入SpringBoot時已自動引入,不需要在我們的pom文件中導入,我們需要按照Maven提供的BOM功能定義自己基礎組件依賴工程,所以我們的SpringCloud開發框架分為兩個工程:一個是底層組件GitEgg-Platform,用於統一規划管理類庫版本及底層基礎功能組件開發;一個是GitEgg-Cloud,依賴於底層組件GitEgg-Platform用於具體業務功能開發。
下面以創建GitEgg-Cloud為例創建Maven父子工程:
1、創建父工程:File > New > Project...,選擇Maven,Create from archetype不要勾選,點擊Next進入下一步,填寫工程信息。
2、填寫項目名稱,選擇工程代碼存放路徑,GroupId 、ArtifactId、Version,然后點擊Finish完成創建。
3、因為是父工程,所以刪除工程下用不到的src目錄。此時,pom.xml文件中沒有節點
4、創建第一個子工程,在GitEgg-Cloud工程上點擊右鍵,然后選擇:New > Module... > Maven,然后直接Next下一步,在Name處填入子工程名稱:gitegg-common,然后點擊Finish,子工程創建完成,gitegg-common主要提供系統公共方法及工具。
5、然后使用上一步同樣的操作步驟,分別創建gitegg-oauth(鑒權),gitegg-gateway(網關),gitegg-plugin(第三方功能擴展)工程模塊。使用第1步創建父工程的步驟創建gitegg-service(業務邏輯處理模塊)和gitegg-service-api(業務邏輯處理統一封裝對外提供服務的api接口)。創建時,在Maven窗口點擊右鍵選擇org.apache.tapestry:quickstart,在信息填寫頁的Parent中選擇gitegg-service/gitegg-service-api建好的完整工程目錄如下: