Maven 學習筆記——Maven環境配置(1)

tao先生發表於2015-01-03

      在學習Selenium的過程中,接觸到了Maven(專案管理工具),不至於學一路忘一路,左耳朵進右耳多出,還是決定邊學邊記錄,畢竟聽的不如 看的,看的不如寫的嗎。首先學一樣東西,肯定得明確學的是什麼,學了以後在工作中起到什麼作用,實際點是,學完這東西能給自己帶來多少的Money的增 值。好了,話不多說了,進入主題。

       Maven是一種基於專案物件模型(POM)的專案管理工具,它可以通過一段描述資訊來管理專案的構建。Maven主要是由一個專案物件模型(POM), 一組標準集合,Maven的專案生命週期(當執行 mvn install的時候被呼叫),一個依賴管理系統(Dependency Management System)和用來執行定義在生命週期階段中的外掛目標的邏輯。同時它也能方便的幫你管理專案報告,生成站點,管理Jar包。 (這些介紹的百度谷歌挺多而且更詳細)

1. 配置Maven的環境屬性

1. 配置Java的環境變數(省略)

2. 下載Maven的配置包: http://maven.apache.org/download.cgi

15

 

3. 在環境變數中新增Java_Home

11

 

4. 編輯Path,新增Maven的Bin資料夾路徑

13

5. 驗證Maven成功配置, “mvn –version”(檢視Maven的版本資訊)

14

 

2. Maven本地倉庫外掛下載

大家如果覺得下面的本地倉庫外掛下載步驟太過麻煩,可以直接下載我打包好的本地倉庫(最基本的外掛,使用之前修改setting.xml檔案中的本地源地址),

Maven本地倉庫地址: http://pan.baidu.com/share/link?shareid=2902566318&uk=876643834&third=15

  • 修改本地倉庫的儲存路徑

      預設情況下下載的Maven外掛都儲存在${user.home}/.m2/repository,但是我們一般都不會希望把這些檔案存放在C盤下, 可以編輯 \apache-maven-3.2.5\conf 下的settings.xml 檔案來修改倉庫的儲存路徑:

修改<localRepository>,指定自定義路徑,我這裡指定的是“D:/Junit/Maven/LocalRepository“,然後將settings.xml 拷貝到“D:/Junit/Maven/LocalRepository“路徑下。

<!-- 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>D:/Junit/Maven/LocalRepository</localRepository>

 

  • 修改本地映象源

      要是網路環境沒有任何問題,不存在長城防火牆,我們也就不需要指定其它映象源了,但是由於這些網路問題的限制,無法訪問中央倉庫,在這各種報錯啊。所以不得不尋找其它可用的映象源了(由於樓主本人也是新手,需要用了才開始看的Maven,在這塊地方遇到了太多的坑,哎。。。一萬隻草泥馬奔騰而過啊),吐槽的話也不先說了。

      同樣是修改settings.xml ,註釋掉之前的中央倉庫的地址,新增新的映象源地址,請參考下面的檔案(直接複製到你所用的xml檔案中就OK了)經過反覆試驗

http://mirrors.ibiblio.org/pub/mirrors/maven2 是沒有問題的。 修改完後,可以完美解決訪問不了中央倉庫導致報錯的問題。

-<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>ibiblio.org</id>

<name>ibiblio Mirror of http://repo1.maven.org/maven2/</name>

<url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>

<mirrorOf>central</mirrorOf>

<!-- United States, North Carolina -->


</mirror>


-<mirror>

<id>jboss-public-repository-group</id>

<mirrorOf>central</mirrorOf>

<name>JBoss Public Repository Group</name>

<url>http://repository.jboss.org/nexus/content/groups/public</url>

</mirror>

</mirrors>

 

  • 驗證Maven配置是否有效

     開啟CMD,輸入”mvn help: system“, 看到 ”Build Success“基本上就成功了(由於會下載大量的Maven的外掛檔案,這個過程會大概持續30-50分鐘,依賴於每個人的網速了)。

Verify1

 

有點需要注意的: 在這個過程中可能由於網路問題出現停止執行(下載包的過程中)或者出現Error(由於某些問題沒有許可權訪問某個包的檔案):

  • 如果出現的是停止執行,一直卡在下載包的過程中,這個時候我們可以終止執行,然後重新執行命令 ”mvn help: system“,可以解決卡住的問題。
  • 如果出現的是Error資訊:可以通過Error資訊的提示,到映象源的地址(http://mirrors.ibiblio.org/pub/mirrors/maven2 )下找到相關的包手動下載如果映象源地址下找不到相應的jar包,可以到中心倉庫下手動下載(http://search.maven.org/),然後將下載的包拷貝到本地源倉庫的對應路徑下。

舉個例子,我們可以看到下面的這個錯誤,而且這個包在映象源下找不到,我們就到中心倉庫下手動下載這個包,然後拷貝到對應目錄下面:

Verify2

 

3. 通過命令建立一個Maven專案

       執行命令 (第一次執行的時候,由於需要下載相應的jar包,會需要一定的時間,等著吧。完成以後在相應的目錄下會產生一個maven專案),在這個過程中如過出現上面的問題,解決請參考上面的方法。(DgroupId, DartifactId, Dversion是必須指定的在建立Maven專案的時候)

mvn archetype:generate -DgroupId=com.lt.Maven -DartifactId=MavenDemon1 -DpackageName=com.lt.Maven -Dversion=1.0

DgroupId: 代表一個Project Group的標示符,比如說正在執行一個關於Selenium的專案,我們就能面命為Selenium,然後這個group下面全都是關於Selenium的專案

DartifactId: 代表的是一個project的唯一標示符,就是建立的Java Project指定的名字

Dversion: 代表的是一個專案的版本,相當於一個snapshot

Verify4

建立完一個maven專案後,我們進入到maven專案的目錄下,發現所建立的專案並不是正常的Eclipse專案的目錄結構,我們需要對Maven專案進行編譯通過命令

mvn clean compile
mvn eclipse:eclipse

 

4. 專案Jar包更新

        有時候我們需要用到最新的jar包,預設情況下maven使用的是Junit3但是作為Junit4的長期使用者,這個時候我們就需要更新倉庫中的jar包了。我們只需要編輯該專案下的pom.xml檔案,將junit對應的版本改成”4.11“就行了。如果我們想新增別的依賴,只需要新增<dependency>xxx</dependency>相應的資訊就行了。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

<!-- 定義專案屬於哪個組,唯一標示符 --> <groupId>com.lt.Maven</groupId>

<!--當前專案中的唯一標示符 --> <artifactId>MavenDemon1</artifactId>

<!-- 當前專案開發的版本 -->
<version>1.0</version>

<!-- 專案的打包方式 --> <packaging>jar</packaging> <name>MavenDemon1</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId>
<!-- 修改version到4.11,從而可以使用Junit4 --> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>

 

      到這裡,我們就能將我們建立的Maven專案匯入到Eclipse中了,但是我們也不能這麼麻煩,每次都需要用命令來建立,最終我們還是需要回到IDE Eclipse的懷抱中。接下來簡單的說說Eclipse的配置。

 

 

 

 

————————————————————————————————

WHOOOOSHHHHHHHHHHHH…………

Blimey what was that?

That was your life mate

Oh, I was not quite ready. Can I have another go?

Sorry mate, only one per person.

相關文章