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

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)文章

  • Log4j新手快速入門教程

    Log4j新手快速入門教程

    這篇文章主要給大家介紹了關(guān)于Log4j新手入門的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Log4j具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • JAVA回顧:封裝,繼承,多態(tài)

    JAVA回顧:封裝,繼承,多態(tài)

    這篇文章主要介紹了java封裝繼承多態(tài),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • Java文件操作之序列化與對象處理流詳解

    Java文件操作之序列化與對象處理流詳解

    這篇文章主要為大家詳細(xì)介紹了Java文件操作中的序列化與對象處理流,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • Java 重寫時應(yīng)當(dāng)遵守的 11 條規(guī)則

    Java 重寫時應(yīng)當(dāng)遵守的 11 條規(guī)則

    這篇文章主要介紹了Java 重寫時應(yīng)當(dāng)遵守的 11 條規(guī)則,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Java實(shí)現(xiàn)將Object轉(zhuǎn)換成指定Class對象的操作代碼

    Java實(shí)現(xiàn)將Object轉(zhuǎn)換成指定Class對象的操作代碼

    這篇文章主要介紹了Java實(shí)現(xiàn)將Object轉(zhuǎn)換成指定Class對象的操作,在Java中,將Object轉(zhuǎn)換為指定類型的Class對象實(shí)際上是兩個不同概念的操作,由于你提到的“將Object轉(zhuǎn)換成指定Class對象”可能有些混淆,我將分別展示這兩種操作的示例代碼,需要的朋友可以參考下
    2024-09-09
  • 在CentOS上配置Java環(huán)境變量的教程

    在CentOS上配置Java環(huán)境變量的教程

    這篇文章主要介紹了在CentOS上配置Java環(huán)境變量的教程,同時適用于Fedora等其他RedHat系的Linux系統(tǒng),需要的朋友可以參考下
    2015-06-06
  • 簡述Springboot @Async 異步方法

    簡述Springboot @Async 異步方法

    這篇文章主要介紹了Springboot @Async 異步方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-05-05
  • java中堆內(nèi)存與棧內(nèi)存的知識點(diǎn)總結(jié)

    java中堆內(nèi)存與棧內(nèi)存的知識點(diǎn)總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于java中堆內(nèi)存與棧內(nèi)存的知識點(diǎn)總結(jié),有需要的朋友們可以跟著學(xué)習(xí)下。
    2019-12-12
  • Java輕松實(shí)現(xiàn)批量插入或刪除Excel行列操作

    Java輕松實(shí)現(xiàn)批量插入或刪除Excel行列操作

    在職場生活中,對Excel工作表的行和列進(jìn)行操作是非常普遍的需求,下面小編就來和大家介紹一下如何在Java中完成批量插入、刪除行和列的操作吧
    2023-10-10
  • java中的內(nèi)存溢出方式

    java中的內(nèi)存溢出方式

    文章介紹了如何使用jmap和IBMHeapAnalyzer等工具分析OutOfMemoryError: Compressedclassspace錯誤,發(fā)現(xiàn)問題出在/org/pf4j/PluginClassLoader加載了大量類
    2024-12-12

最新評論