1. 程式人生 > >eclipse maven build、maven clean、maven install和maven test的區別 精析

eclipse maven build、maven clean、maven install和maven test的區別 精析

   

1.情景展示

  選中maven專案,右鍵-->Run As或Debug As-->maven buid,maven install,maven test有什麼區別?

2.區別說明

  6 Maven  clean-->執行的是maven的原生命令:

mvn clean

  表示:刪除target目錄。

  原目錄結構存在target目錄

  執行該命令後, target目錄被刪除。

  7 Maven generate-sources-->執行的是maven的原生命令:

mvn generate-sources

  表示:會根據pom配置去生成原始碼格式的包,產生應用需要的任何額外的原始碼(沒用過)

  8 Maven  install-->執行的是maven的原生命令:

mvn install

  表示:對專案進行編譯、將專案打成war包並且釋出到本地倉庫。

  target目錄說明:

  classes目錄:.class,.properties,.xml檔案;

  專案名目錄:專案所有原始碼(前端、後臺、jar包)

  專案名.war:將專案名目錄打成的war包。

  生成的target目錄展示

  安裝到本地倉庫的目錄展示

  9 Maven  test-->執行的是maven的原生命令:

mvn test

  表示的是:對專案進行編譯並執行測試程式碼。  

  生成的目錄:

  5 Maven build...-->maven沒有mvn buid命令 

  表示的是:這是eclipse自帶的mvn外掛,通過這個功能,你可以自定義設定要執行的maven命令。

 

 

3.maven其它命令說明

mvn compile

  表示的是:對專案原始碼進行編譯。  

生成的目錄:

mvn deploy

  表示的是:將專案釋出到遠端倉庫。

mvn dependency:tree

  表示的是:顯示maven依賴樹。

mvn dependency:list

  表示的是:顯示maven依賴列表。

mvn package

  表示的是:編譯專案並打成war包。

  跳過單元測試的兩種方式:

  方式一:

-DskipTests

  方式二:

-Dmaven.test.skip=true

  表示的是:測試類不會被編譯,或即使被編譯也不會被新增到專案當中。

  另外,這個指令沒有先後順序,均能正常執行。  

  舉例: 以打包併發布到本地倉庫時,跳過測試類為例。

// 方式一:形式一
mvn install -DskipTests
// 方式一:形式二
mvn -DskipTests install
// 方式二:形式一
mvn install -Dmaven.test.skip=true
// 方式二:形式二
mvn -Dmaven.test.skip=true install

 

 相關推薦: