溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

maven讀書筆記(三)繼承和聚合

發(fā)布時間:2020-06-09 19:47:36 來源:網(wǎng)絡(luò) 閱讀:694 作者:houenxun 欄目:軟件技術(shù)

為了更清晰的設(shè)計以及更高的重用性,軟件設(shè)計人員旺旺會采用各種方式對軟件劃分模塊。在maven中使用繼承和聚合來簡化模塊的配置和操作。二者的異同如下:


    1. 聚合模塊用來簡化項目的編譯打包等操作,可以通過直接操作聚合模塊,達到操作所有模塊的目的;繼承主要是為了簡化配置以及保存各個模塊的統(tǒng)一性,可以將公告的部分抽取出來放到父工程中,如依賴的版本,插件的設(shè)置以及其他擴展屬性的設(shè)置。


    2. 需要單獨建立繼承和聚合模塊用了支撐聚合和繼承功能且該模塊的打包方式(packaging)都是pom。一般而言會將繼承和聚合放在同一個模塊中,用來同時提供聚合和繼承功能。


    3. 為了實現(xiàn)通過聚合模塊操作所有子模塊,聚合模塊需要依賴各個子模塊,需要在聚合模塊的pom中通過modules指定子模塊的相對路徑;為了實現(xiàn)在子工程中使用父工程的配置,子工程需要依賴父工程,需要在子工程中強制指定父工程坐標(biāo)及其路徑,通過parent標(biāo)簽進行指定。另外如果一個工程沒有指定父工程,其默認(rèn)指定超級pom(maven中頂級工程,相當(dāng)于與java中的Object)。

    

    4. 項目中的各個模塊最好有統(tǒng)一的groupId和統(tǒng)一的version。通過在父工程中指定groupId和version可以很容易些實現(xiàn)這一點。


    5. 為了減少包沖突和插件的沖突,最好在父工程中指定包的版本和插件的設(shè)置。dependencyManagement和pluginManagement。

    

    


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI