[英]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.