![](/img/trans.png)
[英]How to force a java app to use a local version of a maven dependency?
[英]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.