2009-11-05 79 views
0

我的項目依賴於第三方庫,只有在其Maven倉庫快照(沒有發佈,這似乎很奇怪,但是這是怎麼回事)。每次我做一個完整的構建(並清理我的本地.m2存儲庫)時,maven顯然會去抓取最新版本。Maven的快照庫

我的倉庫代理了一個與它的快照,反正是有告訴我的倉庫,停止拉動新的版本,基本上只保留目前的版本?我真的不想每天晚上都拉一個新的版本。

我唯一想到的是手動標記當前版本,但也有相當多的依賴關係,它們都依賴於快照版本。有沒有更簡單的方法來做到這一點?

感謝,

傑夫

回答

2

看看這個博客條目從Sonatype的:Best Practices for 3rd Party Snapshot Dependencies

我通常安裝文件到我的代理服務器或本地回購作爲一個特定的版本,然後參考該版本。那麼你不會冒險從你的下面消失的快照。

+0

其實擺脫快照標記絕對是我想要的路線。我擁有的庫並不容易,但是它們完整的二進制發行版本實際上並不包含POM。但通過一些工作,我應該可以在不依賴快照的情況下安裝它。謝謝。 – 2009-11-05 21:37:33

+0

mvn deploy:deploy-file將創建pom。 – SamBeran 2009-11-08 20:48:28

0

你運行帶有-U-update-snapshots)選項構建?如果是這樣,請儘量不要。

否則,如果只在倉庫這種依賴關係,你可以只禁用該庫中,並且Maven會繼續使用它發現在本地存儲庫中的最後一個版本。

0

使用--no-snapshot-updates選項禁止快照更新。

例如

$ mvn --no-snapshot-updates compile