1.maven 穩定版本和快照版本的區別服務器
Snapshot版本表明不穩定、尚處於開發中的版本,快照版本。maven
Release版本則表明穩定的版本,發行版本。測試
何時用Snapshot版本?spa
依賴庫中的jar正處於開發的階段,會被常常被更新,這種狀況下,若是使用Release,會頻繁增長版本號,致使版本號的濫用。.net
在上傳jar時,選擇Snapshot和Release上傳時,在版本號的構建上有所不一樣,如圖:插件
能夠很明顯的看到,上傳一樣的版本號jar包時,Snapshot在版本號的後面會自動追加一串新的數字,就是所謂的日期標籤,這樣在不斷更新jar包時,能夠不用每次都要將版本號提升一個版本,能夠有效的維護版本號。blog
穩定版使用Snapshot版本行不行?ip
不行,由於會形成不穩定。好比說,今天你依賴某個snapshot版本的第三方庫成功構建了本身的應用,明天再構建時可能就會失敗,由於今晚第三方可能已經更新了它的snapshot庫。你再次構建時,Maven會去遠程repository下載snapshot的最新版本,你構建時用的庫就是新的jar文件了,這時正確性就很難保證了。穩定版應該依賴Release版本的jar包,這樣更新時須要更新版本號,版本號沒變時,依賴的jar包也不會變。開發
2.maven經常使用命令部署
mvn clean compile 編譯
mvn clean test 測試
mvn clean package 打包
mvn clean install 把生成的jar/war包複製到本地repository(就是~/.m2/repository下面)
mvn clean deploy 把生成的jar/war包發送到遠程repository(建議配置了私服,那就是往私服發送了)
mvn cargo:run 經過cargo插件,把生成的war包部署到本地服務器,並啓動。(注意要先運行 mvn clean package 打包)
mvn cargo:redeploy 經過cargo插件,把生成的war包部署到遠程服務器:若是已經有了,就先undeploy再deploy,若是沒有直接deploy(注意要先運行 mvn clean package 打包,而且遠程服務器是啓動的)。
mvn install -U -DskipTests 編譯項目跳過test。
3.maven配置文件
這個講的很是詳細了:http://blog.csdn.net/u012225679/article/details/73740785。