由于自己是從Android轉自動化測試,所以以前從來沒有接觸過Maven項目,雖然剛進公司不久就開始做項目,但是maven還是僅限于用,只知其一,不知其二,所以打算將Maven系統(tǒng)的學習下,以此記錄,也算是加強自己的知識

1. maven多模塊管理 方式一
也就是父工程和子工程的關系,其實就是子工程的pom繼承父工程的pom。如下圖,注意選擇父工程,則GroupId和version已經指定好,不需要我們再去寫,因為我們是繼承了父工程


父工程的要求:1 刪除src文件 2 packaging標簽設置為pom,如果沒有packaging標簽,默認的打包方式是jar
父工程添加的依賴,子模塊會無條件添加,保證子模塊引入的Pom都是相同的。但是這樣的話,子模塊會引入一些不需要的dependency,很多余。所以在父pom里面引入dependencyManagement.?如圖三,則在子工程,如圖四當中引入的時候,我們可以不用寫version,默認使用的是父工程的版本號,如果在子工程中指定了版本號的話,說明不用父工程的。


父工程的pom中標簽properties可以指定各個dependency的版本號,各個dependecy只需要讀入properties里面的標簽即可統(tǒng)一升級 ,如圖五

2 Maven多模塊管理? 方法二

3? ?Maven用在什么地方
a? A項目依賴B項目的文件
b 解放手動導入jar包的麻煩
4? Maven倉庫
本地,第三方(私服倉庫)中央倉庫(http://repo1.maven.org/maven2)一般使用阿里云鏡像

修改中央倉庫,可以是公司的私服,也可以阿里云或者maven中央倉庫

5 maven編譯插件
要和我們的JDK保持一致,項目的jdk版本,可以在setting,compiler里面查看

6 maven修改本地倉庫的默認位置

7 mvn常用命令
mvn clean(清理target目錄)
mvn compile(編譯src目錄下的代碼)
mvn test-compile(編譯test目錄下的代碼)
mvn test(運行test測試里面的代碼)
mvn package(打jar包 命名artifactid-version.jar/war)
mvn install(打成jar包放入本地倉庫,被其他項目使用)
mvn生命周期的執(zhí)行順序:compile ->test-compile->test->package->install(后面的每個命令都包含前面,舉例:當執(zhí)行了install ,則前面幾個步驟都執(zhí)行了)
mvn site(生成項目描述文檔靜態(tài)頁)
8 mvn一鍵構建
什么是mvn構建,指的是編譯,測試,運行,安裝,打包整個過程都交給Maven管理
mvn tomcat:run 針對的是web工程的一鍵發(fā)布