1. Maven概述
Maven是一個項目管理工具,包含:項目對象模型(POM, Project Object Model),標準集合,項目生命週期(Project Lifecycle),依賴管理系統(Dependency Management System),和用來運行定義在生命週期階段(phase)中插件(plugin)目標(goal)的邏輯。
maven在導入jar包的時候,不直接將jar包導入到工程中,而是建立了一個專門存放jar包的參考,當需要使用jar包時,在pom.xml文件中添加所依賴的jar座標,maven會根據pom.xml中添加的依賴座標到倉庫中找到jar。下面也簡單描述了maven依賴管理的流程。
從上圖上可以看出,maven的倉庫在maven工程中有很重要的地位,而maven倉庫又可以分爲三類:本地倉庫,遠程倉庫和中央倉庫。
本地倉庫指的就是本機存放jar包的倉庫,maven在查找jar包的時候,首先會從本地倉庫開始查找,如果本地倉庫找不到需要的jar包就會從遠程倉庫下載jar包,下載的jar包依舊存放到本地倉庫中。
-
本地倉庫默認地址是f
C:\Users\acer\.m2\repository
,可以在conf/setting.xml文件中修改,一般最好修改到一個好找的路徑下,注意該路徑中也不能含有中文符 -
遠程倉庫和中央倉庫都是互聯網通用的,如果找不到jar包maven回到互聯網內去下載對應的jar包,在conf/setting.xml文件中也可以進行修改和添加
<!-- 阿里雲倉庫 --> <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>
2. Maven的環境變量配置
直接去maven的官網上下載安裝軟件,然後解壓到一個沒有中文的路徑下,可以得到如下文件
bin下存放了maven的命令
boot下存放了maven的一些引導程序,例如類加載器等
conf下存放了maven的配置文件,如setting.xml
lib下存放的是maven自帶的依賴jar包
解壓好文件後需要設置環境變量,設置系統變量M2_HOME,並將下的bin路徑添加到path下
設置好後檢查配置,在cmd下輸入mvn -v
3. maven的IDEA配置
在idea上使用maven時,首先要對maven進行配置
建立好maven文件後,會自動生成一個pom.xml文件,根據工程的需要,需要在pom.xml中添加依賴,例如項目依賴hadoop2.7.5,需要在pom中添加如下配置
<dependency>
<!-- jar包所屬項目名稱 -->
<groupId>org.apache.hadoop</groupId>
<!-- jar包名稱 -->
<artifactId>hadoop-common</artifactId>
<!-- 版本 -->
<version>2.7.5</version>
</dependency>
如果不知道jar包的座標可以從互聯網上搜索,在https://mvnrepository.com/上搜索對應的jar包,可以生成對應的座標
如果在配置好maven後,本地倉庫有jar包的情況下,pom還報錯
看看本地倉庫jar包的後綴是否正確。。
如果倉庫後綴如圖片所示,需要改爲jar後綴