1. 程式人生 > >maven一波流(7)——使用命令列或eclipse管理專案生命週期

maven一波流(7)——使用命令列或eclipse管理專案生命週期

概述

普通專案編碼、編譯、測試、打包、部署有兩種方式:一種是在整合開發環境中直接實施,一種是使用命令(windows命令列或linux命令)進行操作。

maven專案也不例外,也可以通過命令列或者eclipse等開發環境直接進行生命週期管理。

maven專案生命週期規範

maven專案制定了統一的專案生命週期規範,包括:清理、初始化、編譯、測試、打包、整合測試、驗證、部署、站點生成。

我們來說點平時用得到的命令到底是幹嘛的,在說之前首先得了解下mvn命令如何執行

mvn命令執行方法

首先得把maven配到環境變數Path中

開啟CMD命令列

使用cd命令將當前目錄切換到Maven工程根目錄下

執行命令

如果上面命令列的內容不熟悉,先還是強烈建議瞭解下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的座標:

	<groupId>com.panda</
groupId
>
<artifactId>projecta</artifactId> <version>0.0.1-SNAPSHOT</version>

專案B在pom.xml引用專案 A,此時專案A需要執行過mvn install安裝,專案B才能再本地倉庫找已安裝的A。

	<dependency>
	<groupId>com.panda</groupId>
	<artifactId>projecta</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	</dependency>
mvn deploy & mvn clean deploy

這個就厲害了,不但打包,還將打包的包部署到本地和遠端maven私服倉庫,這個用的不多,此處不討論。

eclipse中執行maven生命週期管理

右鍵專案-Run as,裡面就有maven test、maven clean、maven install,你懂得。