簡體   English   中英

Maven依賴版本不匹配問題 - 從repo解決過時的依賴版本

[英]Maven dependency version mismatch issue - resolving outdated version of dependency from repo

當我嘗試在Eclipse中構建我的Maven項目時,我收到此構建失敗消息:

[INFO] Checking for transitive/resolved version mismatches.
[INFO] com.company.etc:artifact-name:
[INFO]     required: 1.5
[INFO]     resolved: 1.3

我的POM文件正在請求此工件的1.5版本,因此該部分是正確的。 但是在列出的存儲庫中,版本1.3,1.4和1.5都可用,並且根目錄中也有正確的maven-metadata.xml文件。 簡單地將我的POM文件要求更改為舊版本不是一種選擇,因為我需要最新版本的工件中的功能。

我真的很難過。 有什么我忽略的可能導致Maven 解決比repo服務器上實際可用的版本號更低的版本號嗎?

我在這個問題上找到了兩種可能的解決方案:

第一個是為特定版本的依賴項指定確切的版本要求或“硬性要求”,如下所示:

<version>[1.5]</version>

代替:

<version>1.5</version>

第二個是使用mvn dependency:tree Maven命令來確切地查看正在引入的依賴項以及在什么層次結構中。 在我的情況下,這解決了我的問題,當我注意到一個依賴實際上拉入另一個依賴的舊版本,作為一個子依賴。 盡管子依賴項是在POM中的其他地方指定的,但是Maven使用了作為子依賴項引入的舊版本。 聽起來很混亂我知道,但無論哪種方式, mvn dependency:tree應該顯示是否在不知情的情況下拉入依賴關系,或者在未指定的版本中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM