最近在開發javaweb項目中有用到maven,以前並不是很了解,於是學習了一些相關內容,記之共享。
本篇內容在Windows環境下實施,JDK版本使用的1.7.0_79。
一、maven是什么?
簡單來說,maven是一個項目構建工具。
開發人員都有過這樣的經歷:在項目開發中,為了提高效率,不重復“造輪子”,經常會引用第三方的jar包。一般的做法是:上網搜索,下載jar包,配置到項目的依賴目錄下,調用。若引用的jar包較少,這種方式倒也沒什么;可如果項目中需要引入大量的jar包,且各依賴包之間可能存在版本沖突時,jar包的管理工作將變得特別繁瑣。
maven的存在就可以輕松解決這個問題。只需在IDE環境中配置好maven,然后新建maven項目,並通過在pom.xml文件中寫入簡單的配置,就能自動實現jar包的下載和管理。jar包的添加、刪除以及版本管理都講變得十分便捷!
這是maven最常用的功能,至於其他功能,這里暫時不作深究。
二、maven的安裝和配置
1、安裝JDK。maven是基於java語言開發的,因此在安裝maven之前,必須確保計算機已經安裝了JDK(maven可以運行在JDK1.4及以上版本中)。JDK的安裝這里就不做介紹了,網上的教程非常多,傻瓜式安裝,然后配置好環境變量即可。打開windows命令行,輸入——“java -version”,若顯示出java的版本信息,說明計算機已經成功配置好了JDK環境。
2、下載maven。下載地址:http://maven.apache.org/download.html。其中列舉了針對不同平台下的各種版本的maven安裝文件。初識maven者建議選擇apache-maven-版本號-bin.zip文件下載。若想了解maven源碼,可以下載apache-maven-版本號-src.zip文件。
3、安裝maven。maven的安裝十分簡單,只需將下載的.zip后綴的壓縮包解壓到你想放置的目錄即可。這里的安裝以apache-maven-3.3.9-bin.zip文件為例:解壓apache-maven-3.3.9-bin.zip,得到apache-maven-3.3.9的文件夾,這里將其放到D://softwares/路徑下。安裝后需要配置maven的環境變量。右鍵“我的電腦”,點擊“屬性”——“高級系統配置”——“環境變量”,在系統變量中點擊“新建”:【變量名:M2_HOME;變量值:D://softwares/apache-maven-3.3.9】,點擊確認。在系統變量中找到path,雙擊進行編輯,在變量值的末尾加上%M2_HOME%/bin(注意各值之間需要用“;”分隔)。確認保存退出。打開windows命令行,輸入——“mvn -version”,若顯示出maven的版本信息,說明計算機已成功配置好了maven環境。
三、在eclipse配置使用maven
有些eclipse版本中默認集成了m2eclipse模塊,即可以直接新建maven項目,如eclipse mars。若你的eclipse中沒有新建Maven Project的選項,你可以選擇在eclipse中安裝m2eclipse模塊,點擊eclipse菜單欄中的“Help”——“Install New Software...”,然后輸入【Name:m2e;Location:http://m2eclipse.sonatype.org/sites/m2e/】。按步驟安裝即可。當然你也可以選擇使用集成好了m2eclipse模塊的其他版本的eclipse。
安裝了m2eclipse模塊的eclipse中也會自動內嵌一個maven環境,但由於其版本較新,通常不太穩定,因此通常重新配置eclipse,使其指向我們上一步安裝在本地的maven環境。點擊eclipse菜單欄中的“Windows”——“Preferences”,點擊彈窗中左側欄中的“Maven”——“Installation”,默認情況下是Embedded Maven被選中。點擊add按鍵,選擇我們上一步安裝的maven根目錄M2_HOME,添加后,選中這一個外部的maven應用后退出。
四、創建Maven項目
打開eclipse,在項目explorer中右鍵“New”——“Project”——“Maven”——“Maven Project”,點擊Next,選擇項目存放目錄,再點擊Next,在下拉框中選中Artifact Id為“maven-archetype-webapp”,點擊Next,在Group Id中輸入包名,如:com.vike,在Artifact Id中輸入項目名,如:helloworld。最后點擊finish。
在創建的maven項目helloworld的目錄結構中,可以看到一個pom.xml的文件(POM:Project Object Model),它是maven項目的核心,項目中需要管理的jar包配置就是寫在該文件中。打開pom.xml,可以看到項目的一些基本信息,如剛才輸入的包名前綴,項目名等。若需要添加jar包依賴,可以在<project>標簽內添加<dependencies>標簽,然后在該標簽下添加各個jar的<dependency>標簽。<dependency>標簽的格式如下:
<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.26</version> </dependency> <dependencies>
這段配置中最重要的是groupId、artifactId、version三行,這三個元素定義了一個項目的基本坐標,在maven的世界里,任何的jar、war、pom都是基於這些信息進行區分的。項目中需要任何jar包的上述三個元素的信息,可以到http://mvnrepository.com/網站中進行搜索。
有時項目中會同時使用很多個某一類的jar包,他們的版本號version相同,為了便於版本的管理,會在<project>標簽中添加<properties>標簽,定義常量,如<spring-version>1.2.3</spring-version>,這樣后續的同版本號的jar包的<dependency>中<version>標簽中的值就可以寫成${spring-version}。
補充:
由於maven項目下載以來的jar包,默認是從國外的maven倉庫下載,由於一些原因,通常下載速度會很慢,為了提高速度,可以配置鏡像,使用使用國內的阿里雲提供的maven倉庫來下載。
找到maven安裝路徑M2_HOME/conf/settings.xml,在其中的mirrors標簽中,添加如下代碼:
<mirror> <id>alimaven</id> <name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
從maven倉庫下載的jar包會被放置到:C:\Users\你的用戶名\.m2\repository中。
maven學習推薦書籍:《Maven in action》