【單體應用 - 使用 Maven 構建應用】08 Maven 快照
阿新 • • 發佈:2018-11-06
大型應用軟體一般由多個模組組成,一般它是多個團隊開發一個應用程式的不同模組,這是比較常見的場景。例如,一個團隊正在對應用程式正在開發,使用者介面專案(api-ui.jar:1.0) 的前端進行開發,他們使用的是資料服務工程(data-service.jar:1.0)。
現在,它可能會有這樣的情況發生,工作在資料服務團隊的開發人員快速地開發 bug 修復或增強功能,他們幾乎每隔一天就要釋放出庫到遠端倉庫。
現在,如果資料服務團隊上傳新版本後,會出現下面的問題:
- 資料服務團隊應該釋出更新時每次到告訴應用程式 UI 團隊,他們已經發布更新了程式碼。
- UI 團隊需要經常更新自己的
pom.xml
為了處理這類情況,引入快照的概念,併發揮作用。
什麼是快照?
快照(SNAPSHOT 是一個特殊版本,指頂了目前開發拷貝。不同於常規版本,Maven 每生產一個遠端儲存庫都會檢查新的快照版本。
現在,資料服務團隊將在每次釋出程式碼後更新快照儲存庫:data-service:1.0-SNAPSHOT
替換舊的 SNAPSHOT jar。
快照與版本
在使用版本時,如果 Maven 下載所提到的版本為 data-service:1.0
,那麼它永遠不會嘗試在庫中下載已經更新的版本 1.0。要下載更新的程式碼,data-service 的版本必須要升級到 1.1。
在使用快照(SNAPSHOT) 時,Maven 會在每次應用程式 UI 團隊建立自己的專案時自動獲取最新的快照(data-service:1.0-SNAPSHOT)。