您好,登錄后才能下訂單哦!
多模塊拆分的必要性
使用Java技術開發的工程項目,無論是數據處理系統還是Web網站,隨著項目的不斷發展,需求的不斷細化與添加,工程項目中的代碼越來越多,包結構也越來越復雜這時候工程的進展就會遇到各種問題:
(1)不同方面的代碼之間相互耦合,這時候一系統出現問題很難定位到問題的出現原因,即使定位到問題也很難修正問題,可能在修正問題的時候引入更多的問題。
(2)多方面的代碼集中在一個整體結構中,新入的開發者很難對整體項目有直觀的感受,增加了新手介入開發的成本,需要有一個熟悉整個項目的開發者維護整個項目的結構(通常在項目較大且開發時間較長時這是很難做到的)。
(3)開發者對自己或者他人負責的代碼邊界很模糊,這是復雜項目中最容易遇到的,導致的結果就是開發者很容易修改了他人負責的代碼且代碼負責人還不知道,責任追蹤很麻煩。
將一個復雜項目拆分成多個模塊是解決上述問題的一個重要方法,多模塊的劃分可以降低代碼之間的耦合性(從類級別的耦合提升到jar包級別的耦合),每個模塊都可以是自解釋的(通過模塊名或者模塊文檔),模塊還規范了代碼邊界的劃分,開發者很容易通過模塊確定自己所負責的內容。
將原來product項目拆分為如下3個模塊
1、在原有的項目上右擊,New->Module
2、選擇Maven選項,archetype可以不選擇,直接next
3、填寫對應的GroupId和ArtifactId即可,一直next,一直到finish
如果發現創建好的maven項目不能新增class文件,可以在對應的文件夾上右鍵,將其添加為Sources Root即可;
4、查看外層pom文件
新增完所有的模塊之后,在最外層的pom文件會自動將其引入進來
5、版本管理
可以在properties中設置版本管理,方便以后升級之后的改動
6、項目依賴
在微服務中,當前項目很有可能依賴于其他服務的公用項目,這就需要我們先將其他其他服務的公用項目進行打包,并且先放在我們的maven的本地倉庫,這樣當前項目才可以進行依賴,打包前,需要在公用的項目中輸入如下命令:mvn -Dmaven.test.skip=true -U clean install
(①-Dmaven.test.skip=true跳過測試用例;②-U為強制刷新;③clean清除原有target產生的jar包;④install將其打包放到本地的maven倉庫)
打包完成之后IDEA控制臺顯示如下:
在本地倉庫顯示如下:
7、修改完項目結構圖
8、理解maven命令package、install、deploy的聯系與區別
mvn clean package依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7個階段。
mvn clean install依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8個階段。
mvn clean deploy依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9個階段。
由上面的分析可知主要區別如下,
package命令完成了項目編譯、單元測試、打包功能,但沒有把打好的可執行jar包(war包或其它形式的包)布署到本地maven倉庫和遠程maven私服倉庫
install命令完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)布署到本地maven倉庫,但沒有布署到遠程maven私服倉庫
deploy命令完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)布署到本地maven倉庫和遠程maven私服倉庫
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。