最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

maven項(xiàng)目pom.xml中parent標(biāo)簽的使用小結(jié)

 更新時間:2023年12月21日 11:53:02   作者:wh柒八九  
使用maven是為了更好的幫項(xiàng)目管理包依賴,maven的核心就是pom.xml,當(dāng)我們需要引入一個jar包時,在pom文件中加上就可以從倉庫中依賴到相應(yīng)的jar包,本文就來介紹一下maven項(xiàng)目pom.xml中parent標(biāo)簽的使用小結(jié),感興趣的可以了解一下

parent標(biāo)簽

parent標(biāo)簽使用例子

<!--父項(xiàng)目的坐標(biāo)。如果項(xiàng)目中沒有規(guī)定某個元素的值,那么父項(xiàng)目中的對應(yīng)值即為項(xiàng)目的默認(rèn)值。
     坐標(biāo)包括groupID,artifactID和version等。-->
<parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>1.5.9.RELEASE</version>
     <!--父項(xiàng)目的pom.xml文件的相對路徑。相對路徑允許你選擇一個不同的路徑。
        默認(rèn)值是../pom.xml。Maven首先在構(gòu)建當(dāng)前項(xiàng)目的地方尋找父項(xiàng)目的pom,
        其次在文件系統(tǒng)的這個位置(relativePath位置),然后在本地倉庫,
        最后在遠(yuǎn)程倉庫尋找父項(xiàng)目的pom。-->
     <relativePath/> <!-- lookup parent from repository -->
</parent>

parent標(biāo)簽由來

使用maven是為了更好的幫項(xiàng)目管理包依賴,maven的核心就是pom.xml。當(dāng)我們需要引入一個jar包時,在pom文件中加上就可以從倉庫中依賴到相應(yīng)的jar包。

現(xiàn)在有這樣一個場景,有兩個web項(xiàng)目A、B,一個java項(xiàng)目C,它們都需要用到同一個jar包:common.jar。如果分別在三個項(xiàng)目的pom文件中定義各自對common.jar的依賴,那么當(dāng)common.jar的版本發(fā)生變化時,三個項(xiàng)目的pom文件都要改,項(xiàng)目越多要改的地方就越多,很麻煩。這時候就需要用到parent標(biāo)簽, 我們創(chuàng)建一個parent項(xiàng)目,打包類型為pom(parent項(xiàng)目只能是pom,不包含任何代碼),parent項(xiàng)目中不存放任何代碼,只是管理多個項(xiàng)目之間公共的依賴。在parent項(xiàng)目的pom文件中定義對common.jar的依賴,ABC三個子項(xiàng)目中只需要定義,parent標(biāo)簽中寫上parent項(xiàng)目的pom坐標(biāo)就可以引用到common.jar了。

上面的問題解決了,我們在切換一個場景,有一個springmvc.jar,只有AB兩個web項(xiàng)目需要,C項(xiàng)目是java項(xiàng)目不需要,那么又要怎么去依賴。如果AB中分別定義對springmvc.jar的依賴,當(dāng)springmvc.jar版本變化時修改起來又會很麻煩。解決辦法是在parent項(xiàng)目的pom文件中使用<dependencyManagement></dependencyManagement>將springmvc.jar管理起來,如果有哪個子項(xiàng)目要用,那么子項(xiàng)目在自己的pom文件中使用

<dependency>
    <groupId></groupId>
    <artifactId></artifactId>
</dependency>

標(biāo)簽中寫上springmvc.jar的坐標(biāo),不需要寫版本號,可以依賴到這個jar包了。這樣springmvc.jar的版本發(fā)生變化時只需要修改parent中的版本就可以了。

dependencyManagement是管理jar包版本的,如果在父項(xiàng)目中的該節(jié)點(diǎn)下聲明了包的版本,子項(xiàng)目中在Dependencies中引用該包時就不需要聲明版本了,這樣保證多個子項(xiàng)目能夠使用相同的包版本。dependencyManagement不實(shí)際下載jar包,只會聲明包的版本。如果Dependencies中聲明了包的版本,則會覆蓋dependencyManagement聲明的版本。

依賴排除

后續(xù)子項(xiàng)目如果不想使用父項(xiàng)目定義的版本,需要通過exclusion排除。由于maven 2.x的依賴傳遞規(guī)則, 很有可能你的項(xiàng)目類路徑中包含了一些不想要的依賴. 比如說, 你的項(xiàng)目依賴的那些工程可能沒有正確地聲明他們的依賴集合. 為了應(yīng)對這個特殊的場景, maven2.x提出了依賴排除的概念. 排除是針對POM中的一個特定的依賴設(shè)置的, 以一個特定的groupId和artifactId為標(biāo)識. 如果你聲明了排除依賴, 當(dāng)你構(gòu)建你的工程時, 該構(gòu)件就不會被添加到你的工程的類路徑中.

如何在子項(xiàng)目中排除父項(xiàng)目中不需要的依賴

在這里插入圖片描述

本文小結(jié)

到此這篇關(guān)于maven項(xiàng)目pom.xml中parent標(biāo)簽的使用小結(jié)的文章就介紹到這了,更多相關(guān)maven pom.xml中parent標(biāo)簽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot整合Liquibase實(shí)現(xiàn)對數(shù)據(jù)庫管理和遷移

    SpringBoot整合Liquibase實(shí)現(xiàn)對數(shù)據(jù)庫管理和遷移

    Liquibase是一個用于用于跟蹤、管理和應(yīng)用數(shù)據(jù)庫變化的開源工具,通過日志文件(changelog)的形式記錄數(shù)據(jù)庫的變更(changeset),然后執(zhí)行日志文件中的修改,將數(shù)據(jù)庫更新或回滾(rollback)到一致的狀態(tài),本文主要介紹SpringBoot與Liquibase的集成,需要的朋友可以參考下
    2024-11-11
  • IDEA 啟動 Tomcat 項(xiàng)目輸出亂碼的解決方法

    IDEA 啟動 Tomcat 項(xiàng)目輸出亂碼的解決方法

    這篇文章主要介紹了IDEA 啟動 Tomcat 項(xiàng)目輸出亂碼的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • synchronized及JUC顯式locks?使用原理解析

    synchronized及JUC顯式locks?使用原理解析

    這篇文章主要為大家介紹了synchronized及JUC顯式locks?使用原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Java Hutool 包工具類推薦 ExcelUtil詳解

    Java Hutool 包工具類推薦 ExcelUtil詳解

    這篇文章主要介紹了Java Hutool 包工具類推薦 ExcelUtil詳解,需要引入hutool包,版本號可根據(jù)實(shí)際情況更換,除hutool包之外,還需要引入操作Excel必要包,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 最新評論

    长沙县| 普陀区| 集贤县| 嫩江县| 阿鲁科尔沁旗| 聊城市| 普洱| 溧阳市| 米易县| 祥云县| 诸暨市| 井陉县| 车险| 岗巴县| 五峰| 尖扎县| 怀集县| 璧山县| 永丰县| 莲花县| 巴彦淖尔市| 湘阴县| 高青县| 美姑县| 方山县| 天津市| 丽水市| 鹤庆县| 抚州市| 凤山市| 永嘉县| 故城县| 黄梅县| 营山县| 苏尼特左旗| 瑞安市| 蒙阴县| 临澧县| 赤水市| 桑植县| 什邡市|