1、Maven的基本概念
Maven(翻譯爲"專家","內行")是跨平臺的項目管理工具。主要服務於基於Java平臺的項目構建,依賴管理和項目信息管理。spring
1.一、項目構建
項目構建過程包括【清理項目】→【編譯項目】→【測試項目】→【生成測試報告】→【打包項目】→【部署項目】這幾個步驟,這六個步驟就是一個項目的完整構建過程。apache
理想的項目構建是高度自動化,跨平臺,可重用的組件,標準化的,使用maven就能夠幫咱們完成上述所說的項目構建過程。框架
1.二、依賴管理
依賴指的是jar包之間的相互依賴,好比咱們搭建一個Struts2的開發框架時,光光有struts2-core-2.3.16.3.jar這個jar包是不行的,struts2-core-2.3.16.3.jar還依賴其它的jar包,依賴管理指的就是使用Maven來管理項目中使用到的jar包,Maven管理的方式就是「自動下載項目所須要的jar包,統一管理jar包之間的依賴關係」。eclipse
1.三、使用Maven的好處:
1:依賴管理:對jar包的統一管理,能夠節省空間。maven
2:一鍵構建:經過cmd能夠一鍵啓動 -- 1.1--項目構建的全部步驟;工具
3:maven由純java開發,能夠跨平臺;應用於大型項目,能夠分模塊開發,提升開發的效率。post
使用Maven能夠進行項目高度自動化構建,依賴管理(這是使用Maven最大的好處),倉庫管理。測試
2、Maven下載
下載地址:http://maven.apache.org/download.cgi阿里雲
下載完成後,獲得一個壓縮包,解壓,能夠看到maven的組成目錄
Maven目錄分析
- bin:含有mvn運行的腳本
- boot:含有plexus-classworlds類加載器框架
- conf:含有settings.xml配置文件
- lib:含有Maven運行時所須要的java類庫
- LICENSE.txt, NOTICE.txt, README.txt針對Maven版本,第三方軟件等簡要介紹
3、Maven安裝
一、首先要確保電腦上已經安裝了JDK(要jdk 1.6+的版本),配置好JDK的環境變量,使用以下的兩個命令檢查檢查JDK安裝的狀況。
1 Echo %JAVA_HOME% 2 Java -version
二、對apache-maven-3.2.3-bin.zip進行解壓縮
三、設置系統環境變量:MAVEN_HOME
變量值:apache-maven-3.2.3-bin.zip 的解壓目錄:
四、設置環境變量Path,將%MAVEN_HOME%\bin加入Path中,必定要注意要用分號;與其餘值隔開,以下圖所示:
%MAVEN_HOME%\bin表明的就是"E:\apache-maven-3.2.3\bin"目錄
五、驗證Maven安裝是否成功
輸入"mvn –v"命令 查看Maven的相關信息,以下圖所示:
可以出現這樣的信息就說明Maven的安裝已經成功了。
4、Maven的簡單使用
4.一、Maven項目的目錄約定
MavenProjectRoot(項目根目錄)
|----src
| |----main
| | |----java ——存放項目的.java文件
| | |----resources ——存放項目資源文件,如spring, hibernate配置文件
| |----test
| | |----java ——存放全部測試.java文件,如JUnit測試類
| | |----resources ——存放項目資源文件,如spring, hibernate配置文件
|----target ——項目輸出位置
|----pom.xml ----用於標識該項目是一個Maven項目
4.二、手動建立Maven項目,使用Maven編譯
一、建立項目根文件夾,例如Maven01
二、在Maven01文件夾中建立「pom.xml」文件,以下圖所示:
pom.xml文件中的內容以下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 5 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 6 <!--全部的Maven項目都必須配置這四個配置項--> 7 <modelVersion>4.0.0</modelVersion> 8 <!--groupId指的是項目名的項目組,默認就是包名--> 9 <groupId>cn.gacl.maven.hello</groupId> 10 <!--artifactId指的是項目中的某一個模塊,默認命名方式是"項目名-模塊名"--> 11 <artifactId>hello-first</artifactId> 12 <!--version指的是版本,這裏使用的是Maven的快照版本--> 13 <version>SNAPSHOT-0.0.1</version> 14 </project>
3.編寫Java類文件,Maven項目規定,全部的*.java文件必須放在src目錄下的main目錄下的java目錄中,在Maven01項目根目錄中建立一個src目錄,而後在src目錄中建立main目錄,在main目錄中再建立java文件夾,以下圖所示:
在java文件夾下建立一個Hello.java文件,以下圖所示
在Hello.java文件中編寫以下代碼:
1 public class Hello{ 2 public static void main(String[] args){ 3 System.out.println("Hello Maven"); 4 } 5 }
4.使用Maven編譯Hello.java,首先進入到項目根目錄,而後使用命令」mvn compile」進行編譯,以下圖所示:
使用Maven編譯完成以後,在項目根目錄下會生成一個target文件夾,以下圖所示:
打開target文件夾,能夠看到裏面有一個classes文件夾,以下圖所示:
classes文件夾存放的就是編譯成功後生成的.class文件,以下圖所示:
5.使用"mvn clean"命令清除編譯結果,也就是把編譯生成的target文件夾刪掉,以下圖所示:
執行完"mvn clean"命令後,target文件夾就會被刪除了。
固然這是手動建立項目結構,使用Maven命令編譯,清除,打包等,後面使用了Idea或則eclipse就不用這麼麻煩了!!
5、修改從Maven中心倉庫下載到本地的jar包的默認存儲位置
從Maven中心倉庫下載到本地的jar包的默認存放在」${user.home}/.m2/repository」中,${user.home}表示當前登陸系統的用戶目錄(如"C:\Users\gacl"),以下圖所示
Jar包存放在這個位置不太好,咱們但願可以本身定義下載下來的jar包的存放位置,所以咱們能夠本身設置下載到本地時的jar包的存放目錄。
在「E:\」目錄下建立一個「repository」文件夾
找到apache-maven-3.2.3\conf目錄下的settings.xml文件,以下圖所示:
編輯setting.xml文件,以下圖所示:
加上下面的代碼
1 <localRepository>E:/repository</localRepository>
這樣就能夠把jar包下載到咱們指定的E:/repository目錄中了,以下圖所示:
把jar包下載到本地的好處就是,當編譯時,會優先從本地的jar包去找,若是本地存在,就直接拿來用,若是不存在,就從Maven的中心倉庫去下載。以下圖所示:
5.2:修改遠程倉庫爲阿里雲提供的國內倉庫:
在maven目錄下找到conf文件夾下的settings.xml文件,在mirrors的子節點添加如下配置:
1 <mirror>
2 <id>nexus-aliyun</id>
3 <mirrorOf>*</mirrorOf>
4 <name>Nexus aliyun</name>
5 <url>http://maven.aliyun.com/nexus/content/groups/public</url>
6 </mirror>