![](/img/trans.png)
[英]How to force Maven to download maven-metadata.xml from the central repository?
[英]maven tries to retrieve wrong snapshot version from repository because of bad maven-metadata.xml
我正在使用 maven 從我們公司的內部存儲庫中獲取依賴項。 我們使用 Artifactory。 一切正常,但有時我有一個反復出現的問題。 在mvn -U clean compile之后出現錯誤。
Could not resolve dependencies for project company_groupId:company_dependency-articfactId:jar:0.0.1-SNAPSHOT: Could not find artifact company_groupId:company_dependency-articfactId:jar:2.0.17-20210429.123648-56 in snapshots2 (https://company.repository/snapshots)
當我查看實際包含的 jars 存儲庫時,它似乎在 company_dependency-articfactId/0.0.1-SNAPSHOT 中有 3 個文件
maven-metadata.xml
company_dependency-articfactId-2.0.17-20210430.091957-56.jar
company_dependency-articfactId-2.0.17-20210430.091957-56.pom
因此,maven 搜索日期 20210429,存儲庫實際包含的是日期 20210430。
我想也許有些東西會消除依賴關系,但我查看了 maven-metadata.xml。 添加評論以更好地理解。
<?xml version="1.0" encoding="UTF-8"?>
<metadata modelVersion="1.1.0">
<groupId>company_dependencyId</groupId>
<artifactId>company_dependency-articfactId</artifactId>
<version>2.0.17-SNAPSHOT</version>
<versioning>
<snapshot>
<timestamp>20210430.091957</timestamp> <!-- ok version -->
<buildNumber>56</buildNumber>
</snapshot>
<lastUpdated>20210430092512</lastUpdated>
<snapshotVersions>
<snapshotVersion>
<extension>jar</extension>
<value>2.0.17-20210429.123648-56</value> <!-- WRONG version -->
<updated>20210429123648</updated>
</snapshotVersion>
<snapshotVersion>
<extension>pom</extension>
<value>2.0.17-20210430.091957-56</value> <!-- ok version -->
<updated>20210430091957</updated>
</snapshotVersion>
</snapshotVersions>
</versioning>
</metadata>
如您所見,jar 版本的快照實際上指向了錯誤的 jar,它不存在。 我查看了其他依賴項,它們沒問題。 所以它不是在特定日期發生在所有工件上的事情。
我不知道是什么原因造成的。 也許有人已經遇到過這樣的問題?
我還有幾個具體的問題。
pom 和 jar 版本的快照之間的這種不匹配會自然發生嗎? 就像一個腳本,它為 pom 上傳下一個版本,但不是為 jar?
當我們已經上傳了 pom,但由於某種原因無法上傳 jar 時,會不會是某種錯誤? 我的意思是它可能會發生,但認為這種情況經常發生是否合理?
也許分別上傳pom和jar是正常的事情?
我以前沒有經歷過這樣的事情,所以非常感謝任何幫助。
Artifactory 中有幾個錯誤可能導致了這種情況。 For example https://www.jfrog.com/jira/browse/RTFACT-21321 https://www.jfrog.com/jira/browse/RTFACT-6514 or https://www.jfrog.com/jira/browse /RTFACT-21321 。
正如 J Fabian Meier 所建議的那樣,可以通過重新創建元數據來解決該問題。
遇到同樣的問題。 經過一些研究,它似乎是一個已知且已修復的錯誤https://issues.apache.org/jira/browse/MNG-6754 。
升級您的 maven 應該可以修復它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.