這篇文章給大家介紹maven中怎么重構(gòu)項目,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
網(wǎng)站建設、網(wǎng)站設計服務團隊是一支充滿著熱情的團隊,執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標準與要求,同時竭誠為客戶提供服務是我們的理念。創(chuàng)新互聯(lián)把每個網(wǎng)站當做一個產(chǎn)品來開發(fā),精雕細琢,追求一名工匠心中的細致,我們更用心!
user-system拆分成:
user-web
user-service
user-dao
user-common
我們對其拆分后很有可能存在多個子項目中同時依賴某個jar包,如果使用不當可能會導致每個模塊使用的版本不一樣,所以想想能不能有什么方式來解決這類問題呢?
答案:能。但是得先了解兩個概念:聚合和繼承。
所謂的聚合就是我們?nèi)绻胍淮涡詷?gòu)建多個項目模塊,那我們就需要把這些項目模塊進行聚合。
配置模板
<modules> <module>項目模塊一</module> <module>項目模塊二</module> <module>項目模塊三</module> <module>項目模塊...</module></modules>
比如我們對user-web、user-service、user-dao、user-common四個項目模塊進行聚合。
<modules> <module>user-web</module> <module>user-service</module> <module>user-dao</module> <module>user-common</module></modules>
注意:其中module的路徑為相對路徑。
這樣就解決了我們項目模塊的聚合,我們再來看看maven是如何來解決由于重復依賴導致版本不一樣的問題。
繼承為了消除重復,我們把很多相同的配置提取出來,例如:grouptId,version等 。
<parent> <artifactId>maven-demo</artifactId> <groupId>com.tian</groupId> <version>1.0-SNAPSHOT</version></parent>
繼承代碼過程中,可以定義屬性,例如:
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junit.version>4.13.1</junit.version> <maven.version>0.0.1-SNAPSHOT</maven.version></properties>
訪問屬性的方式為${junit.version},例如:
<?xml version="1.0"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>maven-demo</artifactId> <groupId>com.tian</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>user-web</artifactId> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <!-- 使用了parent中 junit.version --> <version>${junit.version}</version> </dependency> </dependencies></project>這樣我們就可以使用到上面定義的屬性junit.version=4.13.1。
由于項目模塊較多,所以我們又抽象了一層,抽出一個parent來管理子項目的公共的依賴。為了項目的正確運行,必須讓所有的子項目使用依賴項的統(tǒng)一版本,必須確保應用的各個項目的依賴項和版本一致,才能保證測試的和發(fā)布的是相同的結(jié)果。
<dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> </dependencies></dependencyManagement>這樣的好處是子模塊可以有選擇性的繼承,而不需要全部繼承。

這樣做的好處:統(tǒng)一管理項目的版本號,確保應用的各個項目的依賴和版本一致,才能保證測試的和發(fā)布的是相同的成果,因此,在頂層pom中定義共同的依賴關系。同時可以避免在每個使用的子項目中都聲明一個版本號,這樣想升級或者切換到另一個版本時,只需要在父類容器里更新,不需要任何一個子項目的修改;如果某個子項目需要另外一個版本號時,只需要在dependencies中聲明一個版本號即可。子類就會使用子類聲明的版本號,不繼承于父類版本號。
在前面我們構(gòu)建多模塊項目中,關系如下

配置我們之前安裝好的maven目錄、maven下面的setting.xml以及本地倉庫目錄。然后Apply--->OK。

這樣我們就把Maven集成到我們的IDEA中來了。
我們可以在父項目中對所有子項目進行編譯、打包等。我們就來對所有子模塊進行打包。

也可單獨對某個子項目進行打包等操作。比如我們對user-common進行clean。

然后把src目錄刪掉,創(chuàng)建子項目:
選中user-parent項目,右鍵,選中New-->Module

next。填寫子項目名稱,我們這里創(chuàng)建一個user-web的子項目:

點擊Finish:

已經(jīng)添加了modules,同時把我們的user-web添加進去了。
同樣方法,我們就可以創(chuàng)建更多字項目了:
再看看user-parent中的pom.xml文件內(nèi)容:

關于maven中怎么重構(gòu)項目就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
分享題目:maven中怎么重構(gòu)項目
文章來源:http://chinadenli.net/article14/jpcgge.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站收錄、商城網(wǎng)站、營銷型網(wǎng)站建設、用戶體驗、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)