maven升級發版

        我們進行版本控制時,要發版一個新的程序時,一般會打一個tag出去,然後根據這個tag發佈正式版,然後修改trunk下的版本號爲最新的。如果我們使用了maven也是如此。如果項目只有一個,比如是一個web應用那還簡單點。如果我們項目是由多個組件組成的,比如每個組件是要打成一個jar包,如果還按照上邊說的方法,則不但消耗時間,而且常常出錯。現在使用了maven就可以幫我們解決這個問題,這裏主要使用的是release:prepare、release:perform、release:rollback。

        關於前兩個命令的使用,在文章:點擊打開鏈接中已經做了很清晰的詮釋,我這裏只是針對release:rollback進行補充。

        當第一個命令完成後,我們如果仔細觀察,就會發現在每個項目的pom.xml同目錄下會有個文件叫做:pom.xml.releaseBackup,如果你使用文本編輯器打開,你就會發現這個文件就是你升級前的pom.xml,這裏我們要補充說下,如果我們沒有對maven進行擴展,則一般在maven的標準項目中我們執行release:prepare只是做了以下幾件事情:第一、將最終的文件打一個tag放在tags目錄下、修改當前項目的pom.xml,按照其規則修改pom.xml文件中的version標籤的值(一般是加個數字,這個大家可以參考我上邊說的鏈接)然後再調用SVN客戶端命令將修改的內容提交到SVN服務器上。所以,當我們執行release:rollback時,這個命令就是把pom.xml.releaseBackup覆蓋回pom.xml,然後再提交到SVN上。那麼之前調用release:prepare打的tag或者branch則需要我們手工處理,否則會報什麼“trunk"已經存在之類的錯誤,這個可以參考文檔:點擊打開鏈接。當然了,前提是你的pom.xml.releaseBackup這些文件都沒有刪除,比如並沒有使用:release:clean命令之類的操作。

         就寫到這裏吧,如果我們對這些命令背後的原理有所瞭解,當遇到問題時會更容易定位。

發佈了132 篇原創文章 · 獲贊 708 · 訪問量 102萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章