1. 程式人生 > 其它 >Apache Maven下載與安裝

Apache Maven下載與安裝

Apache Maven下載與安裝

- 可以幫助我們構建專案、管理專案中的 jar 包
- Maven 倉庫:存放構建依賴的位置
  - 本地倉庫:預設是 ~/.m2/repository
  - 遠端倉庫:中央倉庫、映象倉庫、私服倉庫
- 示例:下載、安裝、配置、常用命令

注意:

  1. JDK版本,Maven 3.3.+ 要求 JDK 版本 ≥ JDK 1.7;(當然,Maven 3.3.+ 仍然允許使用工具鏈針對Jdk1.3和其他JDK版本進行構建)

  2. 對於記憶體條大小,沒有最低要求

  3. 對於硬碟大小,至少500M吧;(Maven 自身佔很小記憶體,大概 10M 左右,但是由於要存放 Maven repository 即:本地倉庫,所以需預留空間,這個空間根據你本地專案多少決定,至少500M吧)

  4. 作業系統,沒有最低要求;(因為它的啟動指令碼可以是 shell 指令碼和 windows 批處理檔案,也就是說只要你windows系統正常啟動,你就可以啟動Maven了)

1、下載(本人是3.6)

官網下載地址:http://maven.apache.org/download.cgi

Maven 3.6 壓縮包下載: https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zi

2、安裝

2.1 目錄

Maven目錄分析:
- bin資料夾:含有mvn執行的指令碼,這些指令碼用來配置java命令,準備好classpath和相關的java系統屬性,然後執行java命令。
- boot資料夾:含有plexus-classworlds-2.5.2.jar,maven就是用它來載入自己的類庫的。相對於預設的java類載入器。
- conf資料夾:含有settings.xml配置檔案,直接修改該檔案,就能在叢集上全域性的定製maven的行為。
- lib資料夾:含有maven執行時所需要的java類庫,maven本身是分模組開發的。
- LICENSE:記錄了maven使用的軟體許可Apache License Version 2.0。
- NOTICE:記錄了maven包含的第三方軟體。
- README:包含了maven的簡要介紹,包括安裝需求及如何安裝的簡要指令。

2.2 環境變數的配置

可以全域性訪問(注意:確認電腦上已經安裝了JDK

操作步驟:此電腦(右鍵)--->屬性--->高階系統設定--->環境變數--->新建環境變數MAVEN_HOME---> 編輯Path,增加“%MAVEN_HOME%\bin”

附加(個人需求):

可以 新建環境變數MAVEN_OPTS

通常需要設定MAVEN_OPTS的值為-Xms128m -Xmx512m,因為Java預設的最大可用記憶體往往不能夠滿足Maven執行的需要,比如在專案較大時,使用Maven生成專案站點需要佔用大量的記憶體,如果沒有該配置,則很容易得到java.lang.OutOfMemeoryError。

3、配置

修改配置檔案:apache-maven-3.6.3\conf\settings.xml

3.1 本地倉庫的目錄

根據個人需求修改本地倉庫的目錄路徑

預設在系統的使用者目錄下的m2/repository中,該目錄是本地倉庫的目錄。

找到<localRepository>標籤,註釋掉,新增
<localRepository>E:\Program Files\java\repository</localRepository>     //存放maven下載的各種依賴,本地需存在該路徑(儘量不要存在c盤,後期檔案會很大)

3.2 修改為阿里雲下載

找到<mirrors>...</mirrors>,新增
<mirrors>
        <!-- 阿里雲倉庫 -->
        <mirror>
            <id>alimaven</id>
            <mirrorOf>central</mirrorOf>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
        </mirror>

        <!-- 中央倉庫1 -->
        <mirror>
            <id>repo1</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo1.maven.org/maven2/</url>
        </mirror>

        <!-- 中央倉庫2 -->
        <mirror>
            <id>repo2</id>
            <mirrorOf>central</mirrorOf>
            <name>Human Readable Name for this Mirror.</name>
            <url>http://repo2.maven.org/maven2/</url>
        </mirror>
  </mirrors>

阿里雲的倉庫,圖示:

4、命令

maven常用命令:

mvn -v:檢視版本

mvn clean:刪除target

mvn compile:編譯

mvn test:測試

mvn package:打包

mvn install:上傳jar包到本地倉庫中

5、測試常見問題

問題:報錯:[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!

解決辦法:

 <project>
   ...
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
   ...
 </project>

問題: 建立新類,需要使用其他的類,需要做匯入(沒有匯入到 倉庫中)

解決辦法:

找不到maven01的jar包,因此我們需要將包含HelloWorld的jar包釋出到本地倉庫中,使用mvn install命令完成。

同時在maven02的pom.xml檔案</dependencies></dependencies>中新增maven01包的依賴<dependency></dependency>,寫入maven01包的座標<groupId></groupId><artifactId></artifactId><version></version>,再次編譯便可成功。