Maven簡介與Maven相關概念
Maven
-
validate
驗證專案的正確性
-
compile
編譯原始碼
-
test
通過單元測試框架測試編譯的原始碼
-
package
從之前階段得到的結果組裝工件(比如jar)
-
integration-test
執行整合測試
-
verify
對組裝的工件執行校驗檢查
-
install
安裝工件到本地倉庫
-
deploy
共享工件到遠端倉庫
第一部分 Maven簡介
1 專案開發中的問題
- jar包冗餘
- 版本衝突
- 依賴管理困難
2 Maven概述
Maven定義
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
Maven的作用
- 依賴管理
Maven能夠幫我們統一管理專案開發中需要的jar包
- 外掛管理
Maven能夠幫我們統一管理專案開發過程中需要的外掛
第二部分 Maven相關概念
1 POM【瞭解】
概念:Project Object Model 專案物件模型,按照面向物件的思想來管理專案,把整個專案抽象成一種物件。專案中的元素就是它的屬性。可以在一個pom.xml配置檔案中管理我們的專案。
- 專案本身的資訊
- 當前專案打包的型別
- 當前專案的依賴
2 Maven座標【重點】
用於明確指定依賴的jar包
-
groupId
com.hguo
機構或組織的唯一標識,通常使用反向域名。如:
- com.google
- com.baidu
- com.springframework
-
artifactId
commons-io
通常是專案名或模組名。如:
- commons-logging
- commons-beanutils
- spring-jdbc
-
version
1.0
2.0
1.0-SNAPSHOT
1.0-Alpha
專案或模組的版本號。其中常見的兩種字尾:
Alpha
測試版本
Beta
測試版本
SNAPSHOT
快照版本
RELEASE
釋放版本 - 穩定版
FINAL
釋放版本 - 穩定版
3 Maven倉庫【重點】
本地倉庫
本地倉庫就是一個目錄,這個目錄被用來儲存專案的所有依賴(jar包),本地倉庫供電腦上所有專案使用,Maven所有的jar包都是從中央倉庫下載
遠端倉庫
中央倉庫
http://repo1.maven.org/maven2/
http://repo2.maven.org/maven2/
http://central.maven.org/maven2/
第三方倉庫
建議查詢依賴時使用
http://maven.aliyun.com/nexus/content/groups/public/
私服
在公司內部架設jar包的私有伺服器,中央倉庫中存放的是通用的jar包。公司自己開發的jar包可以放在公司內部的私服中供企業內部使用,私服倉庫中也包含了大量中央倉庫的jar包。訪問私服倉庫比訪問中央倉庫速度更快,更穩定。
私服是架設在區域網的一種特殊的遠端倉庫,目的是代理遠端倉庫及部署第三方構件。有了私服之後,當 Maven 需要下載構件時,直接請求私服,私服上存在則下載到本地倉庫;否則,私服請求外部的遠端倉庫,將構件下載到私服,再提供給本地倉庫下載。