1. 程式人生 > >maven 快照 更新策略

maven 快照 更新策略

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實戰》加上平日實踐的心得。