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

maven 指定version不生效的問題

 更新時間:2022年01月18日 15:05:47   作者:zx1323  
這篇文章主要介紹了maven 指定version不生效的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

maven 指定version不生效

在項目中依賴一個 spring-security 版本時, 發(fā)現(xiàn)未生效, 調(diào)用報錯

由于項目是依賴了srpingBoot

<parent>
? ? <groupId>org.springframework.boot</groupId>
? ? <artifactId>spring-boot-starter-parent</artifactId>
? ? <version>2.3.1.RELEASE</version>
? ? <relativePath/> <!-- lookup parent from repository -->
</parent>

只要加入spring-security的依賴, 哪怕指定了版本, 也會使用springBoot中的版本

找了半天, 發(fā)現(xiàn)把security的版本依賴放在maven的 dependencyManagement標(biāo)簽中即可

有關(guān)maven依賴中的version

構(gòu)件依賴解析機制

1、首先判斷依賴的范圍是否為system,如果是system,直接從本地文件系統(tǒng)解析構(gòu)件;

2、非system,需要根據(jù)依賴坐標(biāo)計算倉庫路徑,然后先從本地倉庫尋找構(gòu)件,找到構(gòu)件解析成功;

3、如果本地倉庫找不到,再判斷版本號是否為明確版本號,如果版本號明確,會從遠(yuǎn)程倉庫下載相應(yīng)版本的構(gòu)件;

4、如果版本號不明確,如 RELEASE、LATEST 和 SNAPSHOT,Maven 就需要根據(jù)遠(yuǎn)程倉庫更新策略來檢查更新

  • 當(dāng)RELEASE或者LATEST時,則會基于更新策略讀取遠(yuǎn)程倉庫的maven-metadata.xml,然后將其與本地倉庫對應(yīng)的元數(shù)據(jù)合并且計算出 RELEASE或LATEST的實際值,再根據(jù)這個真實的版本號值檢查本地和遠(yuǎn)程倉庫(步驟2、3)
  • 當(dāng)為SNAPSHOT時,則會基于更新策略讀取遠(yuǎn)程倉庫的maven-metadata.xml,然后將其與本地倉庫對應(yīng)元數(shù)據(jù)合并且得到最新快照版本的值,再根據(jù)這個最新的快照版本號值檢查本地和遠(yuǎn)程倉庫(步驟2、3)

通過配置或命令行參數(shù)去設(shè)置遠(yuǎn)程倉庫檢查更新的策略

  • always
  • daily
  • interval
  • never

配置方式:

<repository>?
? ? <id>xxx-snapshots</id> ?
? ? <url>https://xxx/repository/maven-xxx-snapshots/</url> ?
? ? <releases>?
? ? ? ? <enabled>true</enabled>
? ? </releases> ?
? ? <snapshots>?
? ? ? ? <enabled>true</enabled> ?
? ? ? ? <updatePolicy>always</updatePolicy>?
? ? </snapshots>?
</repository>?
  • SNAPSHOT

最新快照版本:

即使本地倉庫已緩存,仍然會根據(jù)更新策略去遠(yuǎn)程倉庫檢查構(gòu)件是否更新,然后下載最新時間戳的構(gòu)件。

當(dāng)maven 檢測到需要依賴一個Snashot版本時,就會嘗試從所有的遠(yuǎn)程倉庫下載對應(yīng)的meta文件,并在與本地的meta文件進(jìn)行merge,得到一個與{0.1.0-SNAPSHOT}并帶有時間戳的最新的版本號{0.1.0-20210910.091638-3},然后再嘗試下載該版本。

<dependency>
? ? ?<groupId>com.etoak</groupId>
? ? ?<artifactId>test</artifactId>
? ? ?<version>SNAPSHOT</version>
?</dependency>
  • RELEASE

最新發(fā)布版本:

如果本地倉庫沒有緩存,會去遠(yuǎn)程倉庫獲取;如果本地倉庫已緩存,即使遠(yuǎn)程倉庫同一版本號有更新,也不再去遠(yuǎn)程倉庫獲取。

<dependency>
? ? ?<groupId>com.etoak</groupId>
? ? ?<artifactId>test</artifactId>
? ? ?<version>RELEASE</version>
?</dependency>
  • LATEST

最新版本:

下載最新的SNAPSHOT或者最新的RELEASE,不推薦使用。

<dependency>
? ? ?<groupId>com.etoak</groupId>
? ? ?<artifactId>test</artifactId>
? ? ?<version>LATEST</version>
?</dependency>

指定依賴的版本范圍:

<dependency>
? ? ?<groupId>com.etoak</groupId>
? ? ?<artifactId>test</artifactId>
? ? ?<version>[1.0.1,)</version>
?</dependency>

范圍說明:

RangeMeaning
1.0x >= 1.0 * The default Maven meaning for 1.0 is everything (,) but with 1.0 recommended. Obviously this doesn't work for enforcing versions here, so it has been redefined as a minimum version.
(,1.0]x <= 1.0
(,1.0)x < 1.0
[1.0]x == 1.0
[1.0,)x >= 1.0
(1.0,)x > 1.0
(1.0,2.0)1.0 < x < 2.0
[1.0,2.0]1.0 <= x <= 2.0
(,1.0],[1.2,)x <= 1.0 or x >= 1.2. Multiple sets are comma-separated
(,1.1),(1.1,)x != 1.1

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring中單例和多例的深入理解

    Spring中單例和多例的深入理解

    這篇文章主要介紹了Spring中單例和多例的深入理解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Springboot?接口需要接收參數(shù)類型是數(shù)組問題

    Springboot?接口需要接收參數(shù)類型是數(shù)組問題

    這篇文章主要介紹了Springboot?接口需要接收參數(shù)類型是數(shù)組問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringBoot多環(huán)境配置及配置文件分類實例詳解

    SpringBoot多環(huán)境配置及配置文件分類實例詳解

    這篇文章主要介紹了SpringBoot多環(huán)境配置及配置文件分類,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • Java8實現(xiàn)Stream流的合并的方法展示

    Java8實現(xiàn)Stream流的合并的方法展示

    本文介紹了Java8中Stream流的合并方法,包括concat()、flatMap()和reduce()三種方法。其中,concat()方法可以將兩個Stream流合并成一個,flatMap()方法可以將一個Stream流中的元素映射成多個Stream流并合并成一個,reduce()方法可以將Stream流中的元素逐個合并成一個結(jié)果
    2023-05-05
  • Spring中MVC模塊代碼詳解

    Spring中MVC模塊代碼詳解

    這篇文章主要介紹了Spring中MVC模塊代碼詳解,涉及Controller的簡單介紹,具有一定借鑒價值,需要的朋友可以參考下。
    2017-11-11
  • 基于application和bootstrap的加載順序及區(qū)別說明

    基于application和bootstrap的加載順序及區(qū)別說明

    這篇文章主要介紹了application和bootstrap的加載順序及區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • spring cloud gateway集成hystrix實戰(zhàn)篇

    spring cloud gateway集成hystrix實戰(zhàn)篇

    這篇文章主要介紹了spring cloud gateway集成hystrix實戰(zhàn),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 深入解析java中的值傳遞和引用傳遞

    深入解析java中的值傳遞和引用傳遞

    這篇文章主要介紹了深入解析java中的值傳遞和引用傳遞,值傳遞是將變量的值復(fù)制給另一個變量,兩個變量之間并沒有直接關(guān)系,引用傳遞是將變量的引用(內(nèi)存地址)傳遞給另一個變量,兩個變量之間指向同一個內(nèi)存地址,修改一個變量的值也會影響到另一個變量
    2023-07-07
  • 淺談Java幾種文件讀取方式耗時

    淺談Java幾種文件讀取方式耗時

    本文主要介紹了淺談Java幾種文件讀取方式耗時,主要介紹了4種,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 一文學(xué)會Java運算符的使用

    一文學(xué)會Java運算符的使用

    計算機的最基本用途之一就是執(zhí)行數(shù)學(xué)運算,作為一門計算機語言,Java也提供了一套豐富的運算符來操縱變量,本篇通過示例詳細(xì)講解了Java中不同運算符的使用,需要的朋友可以參考下
    2022-05-05

最新評論