1. 程式人生 > >idea(二)--idea中建立多模組專案、maven多模組開發

idea(二)--idea中建立多模組專案、maven多模組開發

一、idea中建立多模組專案(多工程同時開發)

熟悉eclipse、myeclipse的人都知道,eclipse、myeclipse中都有工作的空間(workspace)的概念,一個workspace中可以建立多個project,即可同時開啟多個專案進行開發。然而,遺憾的是在idea中並沒有workspace的概念,取而代之的是project。idea中的project就相當於eclipse中的workspace,而idea中的module就相當於eclipse中的project。

因此,想要在idea中同時開啟多個專案進行開發,可以這樣做:

先new一個project,選擇empty(空白工程,作為工作空間),空白工程的名稱可以以整個專案系統的名稱命名,如果工作空間中都是放些獨立的、關聯不大的小專案,則空白工程可以以當天日期命名。

建立好project(空白工程)後,我們在project(空白工程)中建立module(即具體的專案) 即可。如圖:

new project (empty project) 

在project上右鍵new module(具體的專案),new project和new module的嚮導是一樣的,只不過一個是建立專案,一個是建立模組。

二、idea中maven多模組專案的開發

注意,maven中的模組和idea中的模組是完全不同的兩個東西,二者不要混淆。

maven中的模組關注點在maven的依賴體系,而idea中模組僅僅是為了方便idea管理自己project下的多個專案。

idea中的maven多模組開發與eclipse、myeclipse中的maven多模組開發是一樣的,大致結構如下:

一個根工程 (pom)

基礎工程base (jar)

服務子工程1 (jar)

服務子工程1實現工程 (war)

服務子工程2 (jar)

服務子工程2實現工程 (war)

controller工程 (war)  

...

另外controller到service子工程的呼叫,還可以使用dubbo、hessian等方式進行遠端呼叫 。例如,我搭建的一個模擬電商系統專案(ecshop)

在project檢視中,我們可以看到 ,整個專案含有 :

ecshop   根工程, pom工程   

ecshop-base    專案基礎工程,封裝整個系統中所使用的公共、底層元件,被其他所有工程所依賴 ,它是個jar工程。

ecshop-controller  controller工程,它是個web工程,外部可以直接訪問(瀏覽器),它是個war工程。

ecshop-sysService     系統服務工程,jar工程,定義了系統模組的api介面、model 類元模型等, controller工程pom中需引入此工程。

ecshop-sysServiceImpl   系統服務實現工程,war工程,實現sysService中定義的所有介面。

......

當然,如果專案較大 ,你還可以擴充套件新的服務工程和服務實現工程,然後讓controller工程pom中引入新的服務工程即可。