首先看下snapshot類型
建立一個maven-privider項目,版本定義為1.1-SNAPSHOT

創建一個privider類,寫一個hello()方法,並推送maven私有倉庫

然后再建立一個deploy-practice項目,並引用maven-privider項目

然后用main方法測試,如下圖所示:打印出hello

下面修改下hello方法,推送maven倉庫

然后我們,不做任何修改,直接運行測試的main方法,結果如下,直接打印出最新修改內容

-----------------------------------------------------------------------------------------------
下面看下release類型倉庫,將maven-provider項目類型改為release類型

hello()方法輸出內容修改為hello I am release,並推送maven 私服

將maven-practice引入maven-privider類型改為release類型

測試main方法,結果如下,和預期的一樣,沒有問題

修改hello方法內容,如圖所示

再次運行main方法,結果如下,結果並沒有改變和修改之前是一樣的

解決辦法有兩個,一是刪除遠程倉庫中的jar包,重新推送,然后再刪除本地的maven倉庫,二是,重新推送的時候,升級版本號(引入的地方版本號同樣也需要修改),咱們使用第一種方法,重新測試main方法,結果如下

總結:
snapshot類型倉庫:每次構建項目時從遠程倉庫中檢出一份新的快照版本
release類型倉庫:重復推送,並不會覆蓋遠程倉庫的jar包,必須刪除之前的版本,或者升級版本號進行再次推送到私服
