mvn snapshot理解

簡(jiǎn)介

  • snapshot快照倉(cāng)庫(kù)用于保存開(kāi)發(fā)過(guò)程中的不穩(wěn)定版本
  • release正式倉(cāng)庫(kù)則是用來(lái)保存穩(wěn)定的發(fā)行版本

策略

  • 識(shí)別方式:maven會(huì)根據(jù)模塊的版本號(hào)(pom文件中的version)中是否帶有-SNAPSHOT來(lái)判斷是快照版本還是正式版本。
  • snapshot版本更新策略:如果是快照版本,那么在mvn deploy時(shí)會(huì)自動(dòng)發(fā)布到快照版本庫(kù)中,而使用快照版本的模塊,在不更改版本號(hào)的情況下,直接編譯打包時(shí),maven會(huì)自動(dòng)從鏡像服務(wù)器上下載最新的
    快照版本。
  • release版本更新策略:如果是正式發(fā)布版本,那么在mvn deploy時(shí)會(huì)自動(dòng)發(fā)布到正式版本庫(kù)中,而使用正式版本的模塊,在不更改版本號(hào)的情況下,編譯打包時(shí)如果本地已經(jīng)存在該版本的模塊則不會(huì)主動(dòng)去鏡像服務(wù)器上下載。
  • 使用建議:在開(kāi)發(fā)階段,可以將公用庫(kù)的版本設(shè)置為快照
    版本,而被依賴組件則引用快照版本進(jìn)行開(kāi)發(fā),在公用庫(kù)的快照版本更新后,我們也不需要修改pom文件提示版本號(hào)來(lái)下載新的版本,直接
    mvn執(zhí)行相關(guān)編譯、打包命令即可重新下載最新的快照庫(kù)了,從而也方便了我們進(jìn)行開(kāi)發(fā)

snapshot版本更新頻率

Maven的Repository中有個(gè)配置項(xiàng),可以配置對(duì)于SNAPSHOT版本向遠(yuǎn)程倉(cāng)庫(kù)中查找的頻率。頻率共有四種:always、daily、interval、never。
當(dāng)本地倉(cāng)庫(kù)中存在需要的依賴項(xiàng)目時(shí),

  • always是每次都去遠(yuǎn)程倉(cāng)庫(kù)查看是否有更新
  • daily是只在第一次的時(shí)候查看是否有更新,當(dāng)天的其它時(shí)候則不會(huì)查看
  • interval允許設(shè)置一個(gè)分鐘為單位的間隔時(shí)間,在這個(gè)間隔時(shí)間內(nèi)只會(huì)去遠(yuǎn)程倉(cāng)庫(kù)中查找一次
  • never是不會(huì)去遠(yuǎn)程倉(cāng)庫(kù)中查找

Maven的snapshot版本更新策略的配置方式:

<repository>
    <id>myRepository</id>
    <url>...</url>
    <snapshots>
        <enabled>true</enabled>
        <updatePolicy>XXX</updatePolicy>
    </snapshots>
</repository>

強(qiáng)制更新snapshot依賴包

如果在使用mvn打包時(shí),希望本次更新最新的snapshot依賴包,則使用如下命令

mvn clean package -U -Dmaven.test.skip=true
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • |-1-更新內(nèi)容[6.從倉(cāng)庫(kù)解析依賴的機(jī)制(重要)] 1Maven倉(cāng)庫(kù)作用 倉(cāng)庫(kù)用來(lái)存儲(chǔ)所有項(xiàng)目使用到構(gòu)件,在ma...
    zlcook閱讀 6,458評(píng)論 0 25
  • Maven的基本了解 什么是Maven? Maven就是Apache下的一個(gè)開(kāi)源項(xiàng)目。它是用純java開(kāi)發(fā)的。是一...
    Bcome閱讀 3,144評(píng)論 0 7
  • 目前在看nexus私服章節(jié)的知識(shí)時(shí)需要用到倉(cāng)庫(kù)與鏡像的知識(shí),正好通過(guò)簡(jiǎn)書把倉(cāng)庫(kù)和鏡像章節(jié)的筆記整理一下 倉(cāng)庫(kù) ma...
    小煉君閱讀 1,412評(píng)論 0 48
  • Maven 筆記 https://www.yiibai.com/maven/enable-proxy-settin...
    點(diǎn)點(diǎn)漁火閱讀 1,070評(píng)論 0 3
  • 一、場(chǎng)景 一個(gè)大型的軟件應(yīng)用通常包含多個(gè)模塊,并且通常的場(chǎng)景是多個(gè)團(tuán)隊(duì)開(kāi)發(fā)同一應(yīng)用的不同模塊。舉個(gè)例子,設(shè)想一個(gè)團(tuán)...
    聶叼叼閱讀 500評(píng)論 0 0

友情鏈接更多精彩內(nèi)容