- 可以幫助我們構建項目、管理項目中的 jar 包 - Maven 倉庫:存放構建依賴的位置 - 本地倉庫:默認是 ~/.m2/repository - 遠程倉庫:中央倉庫、鏡像倉庫、私服倉庫 - 示例:下載、安裝、配置、常用命令
注意:
-
JDK版本,Maven 3.3.+ 要求 JDK 版本 ≥ JDK 1.7;(當然,Maven 3.3.+ 仍然允許使用工具鏈針對Jdk1.3和其他JDK版本進行構建)
-
對於內存條大小,沒有最低要求
-
對於硬盤大小,至少500M吧;(Maven 自身占很小內存,大概 10M 左右,但是由於要存放 Maven repository 即:本地倉庫,所以需預留空間,這個空間根據你本地項目多少決定,至少500M吧)
-
操作系統,沒有最低要求;(因為它的啟動腳本可以是 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”
驗證:
C:\Users\Administrator>mvn -version Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: D:\software\apache-maven-3.6.3\bin\.. Java version: 1.8.0_241, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jre1.8.0_241 Default locale: zh_CN, platform encoding: GBK OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows" C:\Users\Administrator>
附加(個人需求):
可以 新建環境變量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>