Maven學習筆記----基本配置

Maven官網:http://maven.apache.org/download.cgi

What?

Maven項目對象模型(POM),可以通過一小段描述信息來管理項目的構建,報告和文檔的軟件項目管理工具。簡單的說就是管理Java項目的工具之一。


Why?

1、對第三方依賴庫進行統一的版本管理。
使用maven以後,我們不用每個把spring.jar,hibernate.jar這樣的第三方jar包複製過來到項目lib目錄。通過maven配置文件可以自動導入到項目中,不需要程序員手動去copy。

2、統一項目的目錄結構。
可以保證所有項目的目錄結構都是一樣的,目錄結構統一的好處就是,你要找源代碼就去src/main/java/下,你要找需要放到classpath下的資源,就去src/main/resources/下,你要找單元測試對應的代碼和資源,就去src/test/下。每個目錄下放什麼東西,程序編譯,發佈的時候,每個目錄起什麼作用都很清楚明瞭,不會出現打開項目找不到要找的文件的情況。

3、統一軟件構建階段
Maven2把軟件開發的過程劃分成了幾個經典階段,比如你先要生成一些java代碼,再把這些代碼複製到特定位置,然後編譯代碼,複製需要放到 classpath下的資源,再進行單元測試,單元測試都通過了才能進行打包,發佈。

4、支持多種插件
maven有一些插件很有用,比如內置jetty,不用手動打包放到tomcat的部署目錄下,只要一條命令 mvn jetty:run 就可以了。

5、自動生成項目網站和報表
Maven2 可以自動爲項目生成一個網站,裏面包含了項目信息,參與人,項目管理相關的資源,第三方依賴庫,使用的插件,以及通過其他擴展插件生成的各種報表。


Who?

一,下載安裝

先到官網http://maven.apache.org/download.cgi 下載最新版本,下載完成後,解壓到某個目錄
這裏寫圖片描述


二,配置環境變量

系統環境變量裏,添加MAVEN_HOME(或M2_HOME),其值爲maven的安裝目錄:E:\apache-maven-3.5.0
這裏寫圖片描述


然後PATH環境變量最後附加上”;%MAVEN_HOME%\bin”
這裏寫圖片描述


檢測方法:
win+R輸入cmd,然後輸入:mvn -version 輸出安裝版本就ok了

這裏寫圖片描述

新手特別注意如上操作前提:jdk環境必須先安裝好,否則後面無法正常編譯項目


三,maven倉庫

首次運行完mvn -version後,會在用戶目錄下創建一個.m2的目錄(比如:C:\Users\當前用戶名.m2),這個目錄是maven的“本地倉庫”,倉庫是maven中一個很重要的概念。
試想一下,我們會在工作中同時創建很多項目,每個項目可能都會引用一些公用的jar包(.NET中是dll文件),一種作法是每個項目裏,都複製一份這些依賴的jar包(或dll文件),這樣顯然不好,相同的文件在硬盤上保存了多份,太佔用空間,而且這些依賴的jar包(或dll文件)的版本也不太好管理(比如某個公用的jar包,從1.0升級到2.0,如果所有引用這個jar包的項目都需要更新,必須一個個項目的修改)。

maven的倉庫則很好的解決了這些問題,它在每臺機器上創建一個本機倉庫,把本機上所有maven項目依賴的jar包統一管理起來,而且這些jar包用“座標”來唯一標識(注:座標是另一個重要的概念,後面還會講到,這裏只要簡單理解成“唯一識別某個jar包文件名、版本號”的標識即可),這樣所有maven項目就不需要再象以前那樣把jar包複製到lib目錄中,整個maven項目看起來十分清爽。

Maven本地資源庫

通常情況下,可改變默認的 .m2 目錄下的默認本地存儲庫文件夾到其他更有意義的名稱,例如, maven-repo

找到 {M2_HOME}\conf\setting.xml, 更新 localRepository 到其它名稱。

{M2_HOME}\conf\setting.xml

<!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  <localRepository>/path/to/local/repo</localRepository>
  -->
<localRepository>
E:\apache-maven-3.5.0\mvn\ repos
</localRepository>

E:\apache-maven-3.5.0\mvn\ repos 是我們手動配置的maven本地倉庫,一般下載的jar包都在這個目錄裏。

Maven中央存儲庫

當你建立一個 Maven 的項目,Maven 會檢查你的 pom.xml 文件,以確定哪些依賴下載。首先,Maven 將從本地資源庫獲得 Maven 的本地資源庫依賴資源,如果沒有找到,然後把它會從默認的 Maven 中央存儲庫 查找下載。

注:Maven中心儲存庫網站已經改版本,目錄瀏覽可能不再使用。這將直接被重定向到 http://search.maven.org/。這就好多了,現在有一個搜索功能

國內鏡像:

 <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->

    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>        
    </mirror>

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