簡而言之,maven是一個跨平臺的專案管理工具,基於專案物件模型(POM),使用Java語言開發的。使用一小段描述資訊,來管理專案的構建,報告和文件的生成等等。
多人合作開發軟體,保證所有的依賴jar包能夠統一版本,避免每天向伺服器部署一次,簡化這個工作,所以使用更規範統一自動化的管理方法。
約定優於設定的思想
預設生命週期包含以下階段
validate
-驗證專案是否正確以及是否有所有必要的資訊compile
-編譯專案的原始碼test
-使用合適的單元測試框架測試編譯後的原始碼。這些測試不應要求將程式碼打包或部署package
-獲取編譯後的程式碼,並將其打包爲可分發的格式,例如JAR。verify
-對整合測試的結果進行任何檢查,以確保符合品質標準install
-將軟體包安裝到本地儲存庫中,以作爲本地其他專案中的依賴項deploy
-在構建環境中完成後,將最終軟體包複製到遠端儲存庫中,以便與其他開發人員和專案共用。 group Id,artifact Id,version可以定位一個唯一確定的jar包,被稱爲maven座標。
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
scope 指依賴範圍:
只有編譯時和執行時依賴是傳遞的
A->B->C
A->B->C(0.2)
A->C(0.1)
最短路徑原則: C(0.1)
A->B->C(0.2)
A->D->C(0.1)
優先宣告原則:C(0.2)
依賴排除
<exclusions>
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
</exclusion>
</exclusions>
本地倉庫是用來儲存 Maven 下載的 jar 包等檔案, 預設在 C 盤使用者目錄下的
/.m2/repository中, 此目錄使用過程中會越來越大, 建議更換到其它磁碟目錄下
設定Maven的本地倉庫。
在Maven的安裝目錄下的conf目錄下找到settings.xml檔案,開啓該檔案,修改
新增阿裡
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
Maven build :自己設定執行目標
Maven clean:清除上一次Maven執行的結果
Maven generate-sources:自動程式碼生成
Maven install:將專案打包並部署到本地倉庫
Maven test:執行專案的單元測試