日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Maven dependencyManagement 详解

發布時間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Maven dependencyManagement 详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

dependencyManagement(以下簡稱:《依賴管理器》)

《依賴管理器》簡介

Maven中的《依賴管理器》元素提供了一種管理依賴版本號的方式。在《依賴管理器》元素中聲明所依賴的jar包的版本號等信息,那么所有子項目再次引入此依賴jar包時則無需顯式的列出版本號。Maven會沿著父子層級向上尋找擁有《依賴管理器》元素的項目,然后使用它指定的版本號。

注意:
《依賴管理器》中的依賴必須明確的指定依賴版本號,不然子模塊引入該依賴后,將繼承父模塊《依賴管理器》中的設置,如果父模塊的《依賴管理器》中沒有設置依賴的版本號, 會導致子模塊無法下載該依賴。

《依賴管理器》作用就是用來統一管理依賴版本號的,所以在父模塊中可以添加所有子模塊需要用到的依賴,然后統一指定版本號。子模塊引入依賴時會繼承父模塊《依賴管理器》中設置的版本號設置。注:《依賴管理器》不會下載它里面配置的依賴。

例外:
上面提到的把所有子模塊需要用到的依賴都添加到父模塊的《依賴管理器》中,但是在SpringBoot工程中要看情況而定,有些由SpringBoot《依賴管理器》管理的依賴就不用添加到父模塊的《依賴管理器》中。

  • 在子模塊中使用到的依賴如果存在SpringBoot《依賴管理器》中,該依賴會直接繼承SpringBoot《依賴管理器》中的依賴版本號設置(其實也是從父模塊繼承而來,父模塊從SpringBoot《依賴管理器》中繼承)。

  • 如果父模塊的《依賴管理器》定義了SpringBoot《依賴管理器》中存在的依賴就會發生覆蓋,此時子模塊也是繼承父模塊《依賴管理器》中的依賴設置了。

  • 結合上面兩條,父模塊沒必要去管理SpringBoot《依賴管理器》已經定義的依賴,因為這樣做是自找苦吃,除非想改變SpringBoot《依賴管理器》依賴的版本號時才去設置。

  • 總結:Maven的繼承關系跟Java一致。

    下面展示了在父模塊中的《依賴管理器》不定義依賴版本號帶來的問題,以及依賴的繼承性質,還有通過圖片的方式展示了在SpringBoot工程中為什么父模塊的《依賴管理器》不要去管理SpringBoot《依賴管理器》中存在的依賴。

    總結

    以上是生活随笔為你收集整理的Maven dependencyManagement 详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。