欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何將maven項目劃分為多個模塊

 更新時間:2018年09月07日 13:45:24   作者:卓璋  
這篇文章主要介紹了如何將maven項目劃分為多個模塊,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

多模塊拆分的必要性

使用Java技術開發(fā)的工程項目,無論是數據處理系統(tǒng)還是Web網站,隨著項目的不斷發(fā)展,需求的不斷細化與添加,工程項目中的代碼越來越多,包結構也越來越復雜這時候工程的進展就會遇到各種問題:

(1)不同方面的代碼之間相互耦合,這時候一系統(tǒng)出現問題很難定位到問題的出現原因,即使定位到問題也很難修正問題,可能在修正問題的時候引入更多的問題。

(2)多方面的代碼集中在一個整體結構中,新入的開發(fā)者很難對整體項目有直觀的感受,增加了新手介入開發(fā)的成本,需要有一個熟悉整個項目的開發(fā)者維護整個項目的結構(通常在項目較大且開發(fā)時間較長時這是很難做到的)。

(3)開發(fā)者對自己或者他人負責的代碼邊界很模糊,這是復雜項目中最容易遇到的,導致的結果就是開發(fā)者很容易修改了他人負責的代碼且代碼負責人還不知道,責任追蹤很麻煩。

將一個復雜項目拆分成多個模塊是解決上述問題的一個重要方法,多模塊的劃分可以降低代碼之間的耦合性(從類級別的耦合提升到jar包級別的耦合),每個模塊都可以是自解釋的(通過模塊名或者模塊文檔),模塊還規(guī)范了代碼邊界的劃分,開發(fā)者很容易通過模塊確定自己所負責的內容。

將原來product項目拆分為如下3個模塊

  • product-server //所有的業(yè)務邏輯
  • product-client //對外暴露的接口
  • product-common //公用的對象
1、在原有的項目上右擊,New->Module

2、選擇Maven選項,archetype可以不選擇,直接next

3、填寫對應的GroupId和ArtifactId即可,一直next,一直到finish

如果發(fā)現創(chuàng)建好的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的聯(lián)系與區(qū)別

mvn clean package依次執(zhí)行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7個階段。

mvn clean install依次執(zhí)行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8個階段。

mvn clean deploy依次執(zhí)行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9個階段。

由上面的分析可知主要區(qū)別如下,

package命令完成了項目編譯、單元測試、打包功能,但沒有把打好的可執(zhí)行jar包(war包或其它形式的包)布署到本地maven倉庫和遠程maven私服倉庫

install命令完成了項目編譯、單元測試、打包功能,同時把打好的可執(zhí)行jar包(war包或其它形式的包)布署到本地maven倉庫,但沒有布署到遠程maven私服倉庫

deploy命令完成了項目編譯、單元測試、打包功能,同時把打好的可執(zhí)行jar包(war包或其它形式的包)布署到本地maven倉庫和遠程maven私服倉庫

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Mybatis自定義SQL的關系映射、分頁、排序功能的實現

    Mybatis自定義SQL的關系映射、分頁、排序功能的實現

    這篇文章主要介紹了Mybatis自定義SQL的關系映射、分頁、排序功能的實現,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Spring Boot整合JPA使用多個數據源的方法步驟

    Spring Boot整合JPA使用多個數據源的方法步驟

    這篇文章主要給大家介紹了關于Spring Boot整合JPA使用多個數據源的方法步驟,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Spring Boot具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • 詳解如何使用Mybatis的攔截器

    詳解如何使用Mybatis的攔截器

    MyBatis?攔截器是?MyBatis?提供的一個強大特性,它允許你在?MyBatis?執(zhí)行其核心邏輯的關鍵節(jié)點插入自定義邏輯,從而改變?MyBatis?的默認行為,本文給大家詳細介紹了如何使用Mybatis的攔截器,需要的朋友可以參考下
    2024-03-03
  • Java中的ArrayList和contains函數和擴容機制(源碼詳解)

    Java中的ArrayList和contains函數和擴容機制(源碼詳解)

    這篇文章主要介紹了Java中的ArrayList和contains函數和擴容機制,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-10-10
  • 如何實現Java監(jiān)聽器詳解

    如何實現Java監(jiān)聽器詳解

    今天帶大家了解Java監(jiān)聽器是如何實現的及實現原理是什么,文中有非常詳細的說明,對正在學習的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • JDK15正式發(fā)布(新增功能預覽)

    JDK15正式發(fā)布(新增功能預覽)

    這篇文章主要介紹了JDK15正式發(fā)布,新增功能預覽,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2020-09-09
  • mybaties plus實體類設置typeHandler不生效的解決

    mybaties plus實體類設置typeHandler不生效的解決

    這篇文章主要介紹了mybaties plus實體類設置typeHandler不生效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 一文了解SpringBoot是如何連接數據庫的

    一文了解SpringBoot是如何連接數據庫的

    Spring Boot提供了一系列的開箱即用的功能和特性,使得開發(fā)人員可以快速構建和部署應用程序,下面這篇文章主要給大家介紹了關于SpringBoot是如何連接數據庫的相關資料,需要的朋友可以參考下
    2023-06-06
  • 快速解決Hash碰撞沖突的方法小結

    快速解決Hash碰撞沖突的方法小結

    這篇文章主要介紹了快速解決Hash碰撞沖突的方法小結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java觀察者模式例子

    Java觀察者模式例子

    這篇文章主要介紹了Java觀察者模式例子的相關資料,需要的朋友可以參考下
    2015-12-12

最新評論