中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

maven中怎么重構項目

發布時間:2021-08-05 16:43:03 來源:億速云 閱讀:437 作者:Leah 欄目:編程語言

這篇文章給大家介紹maven中怎么重構項目,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

user-system拆分成:

  • user-web

  • user-service

  • user-dao

  • user-common

我們對其拆分后很有可能存在多個子項目中同時依賴某個jar包,如果使用不當可能會導致每個模塊使用的版本不一樣,所以想想能不能有什么方式來解決這類問題呢?

答案:能。但是得先了解兩個概念:聚合和繼承。

聚合

所謂的聚合就是我們如果想一次性構建多個項目模塊,那我們就需要把這些項目模塊進行聚合。

配置模板

<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。

父模塊用dependencyManagement進行管理

由于項目模塊較多,所以我們又抽象了一層,抽出一個parent來管理子項目的公共的依賴。為了項目的正確運行,必須讓所有的子項目使用依賴項的統一版本,必須確保應用的各個項目的依賴項和版本一致,才能保證測試的和發布的是相同的結果。

<dependencyManagement>    <dependencies>     <dependency>        <groupId>junit</groupId>        <artifactId>junit</artifactId>        <version>${junit.version}</version>        <scope>test</scope>      </dependency>     </dependencies></dependencyManagement>

這樣的好處是子模塊可以有選擇性的繼承,而不需要全部繼承。

maven中怎么重構項目

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

聚合和繼承的關系

在前面我們構建多模塊項目中,關系如下

maven中怎么重構項目

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

maven中怎么重構項目

這樣我們就把Maven集成到我們的IDEA中來了。

編譯運行項目

我們可以在父項目中對所有子項目進行編譯、打包等。我們就來對所有子模塊進行打包。

maven中怎么重構項目

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

maven中怎么重構項目

然后把src目錄刪掉,創建子項目:

選中user-parent項目,右鍵,選中New-->Module

maven中怎么重構項目

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

maven中怎么重構項目

點擊Finish:

maven中怎么重構項目

已經添加了modules,同時把我們的user-web添加進去了。

同樣方法,我們就可以創建更多字項目了:

再看看user-parent中的pom.xml文件內容:

maven中怎么重構項目

關于maven中怎么重構項目就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盘锦市| 焉耆| 台南市| 丹凤县| 南阳市| 凤山县| 平利县| 贺州市| 吴忠市| 石城县| 铁岭县| 丹棱县| 高青县| 景泰县| 兴义市| 汤阴县| 德惠市| 天全县| 敖汉旗| 凤翔县| 扎兰屯市| 新野县| 革吉县| 鹤岗市| 商城县| 永顺县| 绥江县| 蒲城县| 科技| 图木舒克市| 贵德县| 永和县| 顺义区| 石泉县| 五华县| 旌德县| 徐水县| 巫山县| 河南省| 海晏县| 霍邱县|