Maven必知必會

回想一下,當你新到一家公司,安裝完JDK後就會安裝配置Maven(MAVEN_HOME、path),很大可能性你需要修改settings.xml文件,比如你會修改本地倉庫地址路徑,比如你很可能會copy一段配置到你的settings.xml中(很可能就是私服的一些配置)。接下來,你會到IDEA或者Eclipse中進行Maven插件配置,然後你就可以在工程中的pom.xml裏面開始添加標籤來管理jar包,在Maven規範的目錄結構下進行編寫代碼,最後你會通過插件的方式來進行測試、打包(jar or war)、部署、運行

1. Maven到底有哪些倉庫?

在這裏插入圖片描述
本地倉庫路徑配置:

 <localRepository>E:\repository</localRepository>

你要jar包,不可能每次都要聯網去下載吧,多費勁,所以本地倉庫就是相當於加了一層jar包緩存,先到這裏來查。如果這裏查不到,那麼就去私服上找,如果私服也找不到,那麼去中央倉庫去找,找到jar後,會把jar的信息同步到私服和本地倉庫中。

私服,就是公司內部局域網的一臺服務器而已,你想一下,當你的工程Project-A依賴別人的Project-B的接口,怎麼做呢?沒有Maven的時候,當然是copy Project-B jar到你的本地lib中引入,那麼Maven的方式,很顯然需要其他人把Project-B deploy到私服倉庫中供你使用。因此私服中存儲了本公司的內部專用的jar!不僅如此,私服還充當了中央倉庫的鏡像,說白了就是一個代理!

中央倉庫:該倉庫存儲了互聯網上的jar,由Maven團隊來維護,地址是:http://repo1.maven.org/maven2/。

2. 關於< dependency >的使用

依賴管理:

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
	<version>2.6</version>
</dependency>

其實這個標籤揭示了jar的查找座標:groupId、artifactId、version。

一般而言,我們可以到私服上輸入artifactId進行搜索,或者到http://search.maven.org/、http://mvnrepository.com/上進行查找確定座標。

3. Maven規範化目錄結構

在這裏插入圖片描述

  1. src/main 下內容最終會打包到Jar/War中,而src/test下是測試內容,並不會打包進去。

  2. src/main/resources 中的資源文件會COPY至目標目錄,這是Maven的默認生命週期中的一個規定動作。(想一想,hibernate/mybatis的映射XML需要放入resources下,而不能在放在其他地方了)

4. Maven的生命週期

在這裏插入圖片描述
我們只需要注意一點:執行後面的命令時,前面的命令自動得到執行。

clean:有問題,多清理!

package:打成Jar or War包,會自動進行clean+compile

install:將本地工程Jar上傳到本地倉庫

deploy:上傳到私服

發佈了33 篇原創文章 · 獲贊 14 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章