首先看下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包,必須刪除之前的版本,或者升級版本號進行再次推送到私服