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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Maven开发笔记(三)—— Maven中dependencies和dependencyManagement

發布時間:2023/12/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Maven开发笔记(三)—— Maven中dependencies和dependencyManagement 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.dependency簡介

dependency?元素用于定義對其他項目的依賴關系,其中,常見的子元素有:groupId?,?artifactId?,?version?,?type?,?scope?,?systemPath?,?optional?,?classifier?,?exclusions?等。其中,絕大部分元素,我們前面都有介紹過,這里就不一一贅述了。我們這里簡要介紹一下?version?元素的多種表示方式。

version?有如下表示方式

  • 1.0?: 非硬性要求,只是一個建議
  • [1.0]?: 硬性要求,版本必須為1.0
  • (,1.0]?: x <= 1.0
  • [1.2,1.3]?: 1.2 <= x <= 1.3
  • [1.0,2.0)?:1.0 <= x < 2.0
  • [1.5,)?:x >= 1.5
  • (,1.0],[1.2,)?: x <= 1.0 or x >= 1.2,多個集合以逗號分隔
  • (,1.1),(1.1,)?: 排除1.1版本號的其他版本

2.dependencies和dependencyManagement的區別概述

在?pom.xml?文件中,我們可以看到,dependencies?是?dependency?的父元素,而?dependencyManagement?又是?dependencies?的父元素,而?dependencies?元素的使用情況又分為兩種,一種,dependencies?元素外沒有?dependencyManagement父元素,另一種,dependencies?元素外還存在?dependencyManagement?父元素。當然,兩種使用情況可以在同一?pom.xml文件中共存,因為二者的作用不同。

我們知道?dependency?元素是用來定義本項目對其他項目的依賴關系的。那么,?dependencies?和?dependencyManagement中?dependency?的作用又有什么不同呢?從宏觀上講,dependencies?中的?dependency?元素下聲明的依賴會被引入當前項目,而且在子項目中即使不寫該依賴項,依舊會從父項目中繼承該依賴項(全部繼承),而?dependencyManagement?中的?dependencies?中的?dependency?元素下聲明的依賴不會被引入當前項目,它僅僅是一個聲明,如果在子項目中不寫該依賴項,則不會從父項目中繼承該依賴項,如果子項目真的需要引入該依賴,則在聲明的時候,可以不用指定具體版本號,會自動繼承父項目?dependencyManagement?中聲明的版本號,從而實現了對依賴版本的統一管理。當然,如果子項目需要使用不同于父項目中聲明的版本號,則需要在聲明時指定版本號。

3.dependencyManagement小結

通過?dependencyManagement?元素,可以將項目的依賴關系細節收歸一處,方便管理和升級。然而,我們在享受?dependencyManagement?元素帶來的巨大便利的同時,需要特別注意的是,通過依賴傳遞而被引入的項目依賴的版本(version)和有效范圍(scope)都會受到?dependencyManagement?元素中對應依賴的控制(如果存在對應依賴的話)。例如:項目A需要依賴項目B和項目C,項目A的?dependencyManagement?元素中聲明了項目B的版本為1.0,如果此時項目C也依賴項目B,而且只有項目B的版本大于等于2.0,項目C才能運行。這時候,項目A中引入對項目B的依賴,其版本按照?dependencyManagement?中的聲明為1.0版本,這時候就會導致項目不能正常運行。這一點,需要特別注意。

總結

以上是生活随笔為你收集整理的Maven开发笔记(三)—— Maven中dependencies和dependencyManagement的全部內容,希望文章能夠幫你解決所遇到的問題。

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