maven正式版本和快照版本的區別
阿新 • • 發佈:2019-01-25
在Nexus倉庫中,一個倉庫一般分為public(Release)倉庫和SNAPSHOT倉。前者存放正式版本,後者存放快照版本。
在專案pom.xml中,指定版本號帶-SNAPSHOT,那麼打出的包就是一個快照版本。
快照版本和正式版本的區別:
本地獲取這些依賴的機制不同。
如果你依賴一個庫的正式版本,構建的時候,先在本地倉庫中查詢是否已經有了這個依賴庫,如果沒有的話才會去遠端倉庫去拉取。如果釋出一個xxx-1.1.jar到遠端倉庫,有一個專案依賴這個庫,第一次構建會把這個jar拿到本地倉庫中,以後再構建就不會去訪問遠端倉庫了。你修改了程式碼釋出上去,也不會再拉,本地這個庫不能得到更新。除非升級這個版本
xxx-1.2.jar,然後通知專案,修改依賴為這個版本。
如果構建頻繁會瘋掉。
那麼使用-SNAPSHOT,每天構建時構建快照版本,xxx-1.1-SNAPSHOT,如果有則下載來使用。即使本地倉庫已經有,也會去訪問遠端倉庫,看是否是最新的。
在配置Maven的Repository的時候,有個配置項,可以配置對SNAPSHOT版本向遠端倉庫的查詢頻率。分別always,daily(第一次,當天的其他時候不檢視),interval(設定一個以分鐘為單位的間隔),never。