原文地址http://blog.csdn.net/zhshulin/article/details/53001750
很久沒有寫過博客了,很多東西都在筆記里面,沒有整理過。不太喜歡寫沒有經(jīng)過自己消化和整理的知識,如果自己都沒有搞明白,那還是不要寫的好,免得誤導(dǎo)其他同學(xué)。
這次寫的內(nèi)容主要就是使用MAVEN創(chuàng)建多模塊的web項目,之前寫過一個SSM整合的博客,也是MAVEN創(chuàng)建的WEB項目,里面的web/dao/service層使用的是package來隔離的,而企業(yè)級開發(fā)一般不是這么做的,我們會將不同職能的模塊使用Maven里面的module來進行劃分,從而每個模塊都可以單獨打出一個Jar包或者war包,可以自己使用,也可以提供出去。
Maven可以創(chuàng)建兩種結(jié)構(gòu)的多模塊項目,一個是水平結(jié)構(gòu),一個是樹形結(jié)構(gòu),下面看圖了解它們的區(qū)別:

Storm項目就是樹形結(jié)構(gòu),而winter項目就是水平結(jié)構(gòu),那么它們的區(qū)別在哪里呢?其實就創(chuàng)建過程來說,沒有什么區(qū)別,就是module的路徑修改一下就可以互相轉(zhuǎn)化了。不過,就體驗來說,個人覺得水平的更好,看起來更加的舒服一點。下面就來說一下如何創(chuàng)建這樣的一個工程,看完就會發(fā)現(xiàn)過程很簡單,知道這種模式就是打開了一個思路,并不是有多難。
本實驗環(huán)境:
idea14
JDK7
maven3.2.1
具體步驟:
1、首先創(chuàng)建一個父項目
File->new-->PRoject,選擇Maven,建立一個最普通的maven項目,生成的src根據(jù)需要保留,我這里是刪掉了。注意:創(chuàng)建完成后需要檢查pom.xml,修改里面的<packaging>標(biāo)簽的value為pom


2、右鍵創(chuàng)建好的winter父項目-->new-->module-->maven,這里的創(chuàng)建過程就和上面的類似了,不過可以使用maven的archetype來創(chuàng)建,這樣就可以產(chǎn)生一個基本的maven項目結(jié)構(gòu),便于快速進入開發(fā)。(關(guān)于這個archetype我會再寫一個博客說一下,其中創(chuàng)建的時候還有坑...有時候會由于網(wǎng)速問題卡在一個地方不動彈...這里就不啰嗦了。)

下面這幅圖的創(chuàng)建路徑需要注意一下,這里就是關(guān)系到了多模塊MAVEN項目結(jié)構(gòu)的關(guān)鍵所在。如果這里使用默認(rèn)的地址,那么產(chǎn)生的就是樹形結(jié)構(gòu)的項目,如果將地址修改一下,module模塊與winter模塊放在一級目錄上就是水平結(jié)構(gòu)了。
樹形結(jié)構(gòu):
/winter
/winter/winter.biz
/winter/winter.dal
水平結(jié)構(gòu):
/winter
/winter.biz
/winter.dal


3、根據(jù)自己的需要和項目架構(gòu),創(chuàng)建定義的模塊吧!!!!
優(yōu)點:
a、模塊隔離清晰
b、不同模塊可以單獨打包,靈活部署
c、隨著項目的變大,這種方式擴展性更好
缺點:
若架構(gòu)的時候各模塊責(zé)任劃分不清,那么不僅開發(fā)成本上升(相比較單一工程來說,這種在不同模塊間切換和查找代碼都會麻煩點),而且沒有相應(yīng)的優(yōu)點。
新聞熱點
疑難解答