概述linux
普通項目編碼、編譯、測試、打包、部署有兩種方式:一種是在集成開發環境中直接實施,一種是使用命令(windows命令行或linux命令)進行操做。windows
maven項目也不例外,也能夠經過命令行或者eclipse等開發環境直接進行生命週期管理。eclipse
maven項目生命週期規範maven
maven項目制定了統一的項目生命週期規範,包括:清理、初始化、編譯、測試、打包、集成測試、驗證、部署、站點生成。單元測試
咱們來講點平時用獲得的命令究竟是幹嗎的,在說以前首先得了解下mvn命令如何執行測試
mvn命令執行方法編碼
首先得把maven配到環境變量Path中插件
打開CMD命令行命令行
使用cd命令將當前目錄切換到Maven工程根目錄下cdn
運行命令
若是上面命令行的內容不熟悉,先仍是強烈建議瞭解下windows命令行的。
mvn clean
清理項目,至關於刪除已經生成的東西,沒啥大用
mvn test
編譯項目,並運行測試代碼,若是編譯項目失敗就提示失敗,若是編譯成功運行測試(例如junit單元測試),並給出測試結果。
這個仍是比較經常使用的,強烈建議maven構建的項目測試之類的各類動做都用maven來作
mvn package mvn clean package mvn clean package -Dmaven.test.skip=true
mvn package 打包。通常打成jar或war包。若是加上-Dmaven.test.skip=true表示跳過測試。(不一樣的項目具體打包以前須要的pom.xml配置還有所不一樣,包括須要的依賴和插件,此處再也不具體論證,後續收集下各種項目打包方式集中說明下)。
OK,還有一個須要注意的問題:建議直接寫mvn clean install,這樣先清理再安裝,意義很簡單:有時候你發現某個目錄下軟件出問題,能夠刪除從新安裝。你這個項目可能由於種種緣由以前生成有問題,不如直接清理了從新生成。
mvn install mvn clean install
這個是重點,不少童鞋不使用該命令,以爲沒用,直接測試經過就能夠打包部署了,不知道install安裝是幹啥的。
實際上install安裝的意義是:將打包的組件安裝到本地依賴倉庫中,這樣其餘項目就能夠調用本項目了。
好比我們開發了項目 A、項目B。
項目A的座標:
groupIdcom.panda/groupId
artifactIdprojecta/artifactId
version0.0.1-SNAPSHOT/version
項目B在pom.xml引用項目 A,此時項目A須要執行過mvn install安裝,項目B才能再本地倉庫找已安裝的A。
dependency
groupIdcom.panda/groupId
artifactIdprojecta/artifactId
version0.0.1-SNAPSHOT/version
/dependency
mvn deploy mvn clean deploy
這個就厲害了,不但打包,還將打包的包部署到本地和遠程maven私服倉庫,這個用的很少,此處不討論。
eclipse中執行maven生命週期管理
右鍵項目-Run as,裏面就有maven test、maven clean、maven install,你懂得。