1. 程式人生 > >【單體應用 - 使用 Maven 構建應用】08 Maven 快照

【單體應用 - 使用 Maven 構建應用】08 Maven 快照

大型應用軟體一般由多個模組組成,一般它是多個團隊開發一個應用程式的不同模組,這是比較常見的場景。例如,一個團隊正在對應用程式正在開發,使用者介面專案(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)。