我的項目依賴於第三方庫,只有在其Maven倉庫快照(沒有發佈,這似乎很奇怪,但是這是怎麼回事)。每次我做一個完整的構建(並清理我的本地.m2存儲庫)時,maven顯然會去抓取最新版本。Maven的快照庫
我的倉庫代理了一個與它的快照,反正是有告訴我的倉庫,停止拉動新的版本,基本上只保留目前的版本?我真的不想每天晚上都拉一個新的版本。
我唯一想到的是手動標記當前版本,但也有相當多的依賴關係,它們都依賴於快照版本。有沒有更簡單的方法來做到這一點?
感謝,
傑夫
我的項目依賴於第三方庫,只有在其Maven倉庫快照(沒有發佈,這似乎很奇怪,但是這是怎麼回事)。每次我做一個完整的構建(並清理我的本地.m2存儲庫)時,maven顯然會去抓取最新版本。Maven的快照庫
我的倉庫代理了一個與它的快照,反正是有告訴我的倉庫,停止拉動新的版本,基本上只保留目前的版本?我真的不想每天晚上都拉一個新的版本。
我唯一想到的是手動標記當前版本,但也有相當多的依賴關係,它們都依賴於快照版本。有沒有更簡單的方法來做到這一點?
感謝,
傑夫
看看這個博客條目從Sonatype的:Best Practices for 3rd Party Snapshot Dependencies
我通常安裝文件到我的代理服務器或本地回購作爲一個特定的版本,然後參考該版本。那麼你不會冒險從你的下面消失的快照。
你運行帶有-U
(-update-snapshots
)選項構建?如果是這樣,請儘量不要。
否則,如果只在倉庫這種依賴關係,你可以只禁用該庫中,並且Maven會繼續使用它發現在本地存儲庫中的最後一個版本。
您是否嘗試在<pluginRepository>
的<snapshots>
元素中指定<updatePolicy>
與never
策略?見Plugin Repositories和Repositories。
使用--no-snapshot-updates
選項禁止快照更新。
例如
$ mvn --no-snapshot-updates compile
其實擺脫快照標記絕對是我想要的路線。我擁有的庫並不容易,但是它們完整的二進制發行版本實際上並不包含POM。但通過一些工作,我應該可以在不依賴快照的情況下安裝它。謝謝。 – 2009-11-05 21:37:33
mvn deploy:deploy-file將創建pom。 – SamBeran 2009-11-08 20:48:28