在學習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
3. 在環境變數中新增Java_Home
4. 編輯Path,新增Maven的Bin資料夾路徑
5. 驗證Maven成功配置, “mvn –version”(檢視Maven的版本資訊)
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分鐘,依賴於每個人的網速了)。
有點需要注意的: 在這個過程中可能由於網路問題出現停止執行(下載包的過程中)或者出現Error(由於某些問題沒有許可權訪問某個包的檔案):
- 如果出現的是停止執行,一直卡在下載包的過程中,這個時候我們可以終止執行,然後重新執行命令 ”mvn help: system“,可以解決卡住的問題。
- 如果出現的是Error資訊:可以通過Error資訊的提示,到映象源的地址(http://mirrors.ibiblio.org/pub/mirrors/maven2 )下找到相關的包手動下載如果映象源地址下找不到相應的jar包,可以到中心倉庫下手動下載(http://search.maven.org/),然後將下載的包拷貝到本地源倉庫的對應路徑下。
舉個例子,我們可以看到下面的這個錯誤,而且這個包在映象源下找不到,我們就到中心倉庫下手動下載這個包,然後拷貝到對應目錄下面:
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
建立完一個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.