一千萬個為什麽

搜索

maven如何決定引用最新的工件信息

We use mvn deploy:deploy to deploy an artifact to repository manager and a developer could have done just mvn install for the same artifact, so the artifact is present under M2_HOME\.m2\repository

如果最近更新了本地存儲庫副本,maven運行時是否會從存儲庫管理器中檢索該工件?

註意:我們使用基於Apache Archiva的maven存儲庫管理器。

最佳答案

答案取決於您是在談論快照還是發布版本。

發布版本的版本不以“-SNAPSHOT”結尾,它們是最終版本且不可變。一旦安裝到任何存儲庫,Maven將永遠不會更新它們。對於您的問題,這意味著如果開發人員在本地安裝發布版本,它將永遠不會從任何遠程存儲庫更新。

快照構建始終有資格從任何存儲庫更新。默認情況下,Maven每天檢查一次新的快照版本,因此如果有人在本地安裝快照,則該快照將一直存在,直到Maven下次檢查快照更新。然後,如果更新的版本在它檢查的任何遠程存儲庫中,則將覆蓋本地版本。您可以使用 -U 命令行選項強制maven更新快照工件。

轉載註明原文: maven如何決定引用最新的工件信息