maven 快照 更新策略
阿新 • • 發佈:2019-01-28
1、為什麼會有快照?
沒有快照之前:
A專案依賴於專案B,B每次改動就賦予一個新版本號,然後告訴A我改版本好了啊,每次改動都得告訴,有時忘了就麻煩了。
可以看出沒有快照會帶來“浪費版本號”、溝通成大加大的問題。
有了快照之後:
A專案依賴於專案B,B每次改動都會打上時間戳,A編譯時會檢查B的時間戳,如果晚於本地倉庫B的時間戳,那麼就會進行更新,否則不予更新。
可以看出快照省去了溝通成本、版本號成本。
2、快照更新策略
注意,快照並不是每次install就會更新,這取決於更新策略;快照更新策略,有每日更新、永遠檢查更新、從不檢查更新和自定義時間間隔更新,預設是每日更新也就是說一日更新一次 ,如果想總是更新,那麼可以在settings.xml中配置。比如
<profile> <id>nexus</id> <repositories> <repository> <id>central</id> <url>http://central</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> </repositories> </profile>
也可以通過命令強制更新,mvn clean install-U
總結:
我曾經遇到過,設定了快照版本,但沒有更新的問題,後來才發現是更新策略的緣故,當時的更新策略是每日更新,這都是對maven掌握的不夠深入導致的,設定為總是檢查更新就好了。以上內容是讀過《maven實戰》加上平日實踐的心得。