簡體   English   中英

強制Maven使用單個快照依賴項的本地副本

[英]Force Maven to use local copy of single snapshot dependency

我的Maven項目有2個快照依賴項。 我需要遠程存儲庫中具有依賴項A的最新快照,同時,本地〜/ .m2存儲庫中也具有快照依賴項B的版本。

快照依賴項B也位於遠程存儲庫中,但是我的CI作業需要使用此快照依賴項的本地構建實例。 因此,快照上沒有時間戳,因此其文件路徑為~/.m2/repository/groupId/artifactId/1.0.0-SNAPSHOT/artifactId-1.0.0-SNAPSHOT.tar.gz

由於需要分割,因此--no-snapshot-updates和配置settings.xml之類的解決方案--no-snapshot-updates

有什么建議么?

更新:如果本地生成的快照少於24小時,則默認情況下該方法有效。 我不確定在原始實驗中配置錯誤的內容。 事實證明,使用快照B的本地版本是因為其文件系統的上次更新時間少於24小時。 快照A在本地存儲庫中不存在,因此可以按預期從遠程存儲庫中獲取快照A。

試用時間戳記,您可以使用1.0.0作為版本。

檢查本文: 如何將時間戳信息添加到Maven工件?

我將通過添加后綴來更改B的版本:當B現在為2.0.0-SNAPSHOT ,請將其設置為2.0.0-LOCAL-SNAPSHOT 如果您以此版本構建和引用B,則可以確保B的任何遠程版本都不會干擾您的構建。

如果本地生成的快照少於24小時,則默認情況下此方法有效。 我不確定在原始實驗中配置錯誤的內容。 事實證明,使用快照B的本地版本是因為其文件系統的上次更新時間少於24小時。 快照A在本地存儲庫中不存在,因此可以按預期從遠程存儲庫中獲取快照A。

暫無
暫無

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

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