maven(一)------ 認識maven

參考文章
maven(一) maven到底是個啥玩意~

1. maven是什麼

maven是基於項目對象模型(POM, project object model),可以通過一小點描述信息來管理項目的構建,報告和文檔的軟件項目管理工具。

maven的核心功能是合理敘述項目間的依賴關係。

通過groupId、artifactId、version三個屬性就能定位一個jar包。
groupId是一個唯一標識,artifactId是項目名稱,version是版本號。

2. 倉庫

通過pom.xml中的配置,就能夠獲取到想要的jar包,這些jar包就是從倉庫中獲得的。

倉庫分爲:本地倉庫、第三方倉庫(私服)、中央倉庫。

2.1 本地倉庫

Maven會將工程中依賴的構件(Jar包)從遠程下載到本機一個目錄下管理,每個電腦默認的倉庫是在 $user.home/.m2/repository下。

一般我們會修改本地倉庫位置,自己創建一個文件夾,下載的jar包都放到本地倉庫中,然後每次寫項目,直接從本地倉庫裏拿就行了。

修改本地庫位置:在$MAVEN_HOME/conf/setting.xml文件中修改,添加<localRepository>D:\repository</localRepository>

2.2 第三方倉庫

第三方倉庫,又稱爲內部中心倉庫,也稱爲私服。

私服:一般是由公司自己設立的,只爲本公司內部共享使用。它既可以作爲公司內部構件協作和存檔,也可作爲公用類庫鏡像緩存,減少在外部訪問和下載的頻率。(使用私服爲了減少對中央倉庫的訪問)。

私服可以使用的是局域網,中央倉庫必須使用外網。也就是一般公司都會創建這種第三方倉庫,保證項目開發時,項目所需用的jar都從該倉庫中拿,每個人的版本就都一樣。

注意:連接私服,需要單獨配置。如果沒有配置私服,默認不使用。

2.3 中央倉庫

Maven內置了遠程公用倉庫:http://repo1.maven.org/maven2

這個公共倉庫是由Maven自己維護,裏面有大量的常用類庫,幷包含了世界上大部分流行的開源項目構件。目前是以java爲主。

工程依賴的jar包如果本地倉庫沒有,如果配置的有私服,則從私服中拉去,如果還是沒有則從中央倉庫下載。

3. maven指令

編譯:mvn compile  --src/main/java目錄java源碼編譯生成class (target目錄下)

測試:mvn test    --src/test/java 目錄編譯

清理:mvn clean    --刪除target目錄,也就是將class文件等刪除

打包:mvn package  --生成壓縮文件:java項目jar包;web項目war包,也是放在target目錄下

安裝:mvn install    --將壓縮文件(jar或者war)上傳到本地倉庫

部署|發佈:mvn deploy  --將壓縮文件上傳私服

4. 依賴調節原則

1、第一原則:路徑近者優先原則
A–>B–>C–>D–>X(1.6)
E–>D–>X(2.0)
使用X(2.0),因爲其路徑更近

2、第二原則:第一聲明者優先原則。就是如果路徑相同,maven 默認配置在前面的優先使用
A–>B --> X(1.6)
C–>D–> X(2.0)
這樣就是路徑相同,那麼如果A在前面,C在後面,則使用X(1.6)

maven會先根據第一原則進行選擇,第一原則不成,則按第二原則處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章