您好,登錄后才能下訂單哦!
什么是maven快照 更新策略,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
1、為什么會(huì)有快照?
沒(méi)有快照之前:
A項(xiàng)目依賴于項(xiàng)目B,B每次改動(dòng)就賦予一個(gè)新版本號(hào),然后告訴A我改版本好了啊,每次改動(dòng)都得告訴,有時(shí)忘了就麻煩了。
可以看出沒(méi)有快照會(huì)帶來(lái)“浪費(fèi)版本號(hào)”、溝通成大加大的問(wèn)題。
有了快照之后:
A項(xiàng)目依賴于項(xiàng)目B,B每次改動(dòng)都會(huì)打上時(shí)間戳,A編譯時(shí)會(huì)檢查B的時(shí)間戳,如果晚于本地倉(cāng)庫(kù)B的時(shí)間戳,那么就會(huì)進(jìn)行更新,否則不予更新。
可以看出快照省去了溝通成本、版本號(hào)成本。
2、快照更新策略
注意,快照并不是每次install就會(huì)更新,這取決于更新策略;快照更新策略,有每日更新、永遠(yuǎn)檢查更新、從不檢查更新和自定義時(shí)間間隔更新,默認(rèn)是每日更新也就是說(shuō)一日更新一次,如果想總是更新,那么可以在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>
也可以通過(guò)命令強(qiáng)制更新,mvn clean install-U
一次針對(duì)現(xiàn)有的http服務(wù)開(kāi)發(fā)了一個(gè)SNAPSHOT版本的調(diào)用SDK jar包。QA同學(xué)部署到測(cè)試環(huán)境后,我又更新了一下jar包的內(nèi)容,此時(shí)QA同學(xué)再次部署時(shí)并沒(méi)有拉去到最新的jar包,這個(gè)就比較奇怪了。記憶中maven不是每次都從私服去檢查
SNAPSHOT類型的jar包是否有更新嗎?怎么對(duì)我就不起作用了呢?原來(lái)也是一直這么使用的的,換個(gè)公司就不行了?最后通過(guò)閱讀官方文檔才發(fā)現(xiàn)自己的理解不到位。
答案當(dāng)然是不想每次有點(diǎn)代碼改動(dòng)都升級(jí)一下版本。
第一次構(gòu)建的時(shí)候會(huì)把該庫(kù)從遠(yuǎn)程倉(cāng)庫(kù)中下載到本地倉(cāng)庫(kù)緩存中,然后根據(jù)pom文件的配置不定期檢查該快照版本是否有變更。如果有變更則會(huì)重新拉去最新的jar。
1 2 3 4 5 6 7 8 | <repository> <id>myRepository</id> <url>...</url> <snapshots> <enabled>true</enabled> <updatePolicy>更新策略</updatePolicy> </snapshots> </repository> |
更新策略有一下幾種:
always 每次構(gòu)建都檢查遠(yuǎn)程倉(cāng)庫(kù)中該依賴jar包是否有更新
daily 每天檢查一次 (默認(rèn)策略)
interval:XXX 指定檢查時(shí)間間隔,單位是分鐘。
never 從不檢查。該策略就和正式版本的處理規(guī)則一樣了。
http://maven.apache.org/ref/3.5.0/maven-settings/settings.html
看完上述內(nèi)容,你們掌握什么是maven快照 更新策略的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。