1. 下載 Maven
在百度輸入 Maven 搜索 ,找到它的官網(http://maven.apache.org/),點擊進入下載頁面。
下載頁面地址: http://maven.apache.org/download.cgi
在這個頁面,向下滾動,可以看到下載地址:
我們一般只需要下載編譯后發布版,點擊上圈出位置的 binary zip 就可以了。(如果需要源碼,可以下載下面的 source zip archive)。
2. 安裝
將下載回來的文件(我這里下載的是apache-maven-3.3.9-bin.zip)解壓縮到適當的位置,比如我放到了 JarLibs 下。
接下來就是設置環境變量。點開“我的電腦”->“屬性”->“高級系統設置”->"高級”選項卡->“環境變量”窗口。
2.1 確認系統變量中是否存在 JAVA_HOME 這個系統變量,它是指向 jdk 的安裝位置,比如我的是: D:\Program Files\Java\jdk\jdk1.8.0_91
2.2 新建環境變量 MavenHome , 值為剛剛下載的 apache-maven-3.3.9-bin.zip 的解壓位置, 比如我的是: E:\Documents\My Documents\My Projects\Java Project\Workspace\JEE\JarLibs\apache-maven-3.3.9
2.3 在 Path 變量中添加 %MavenHome%\bin; 。
2.4 檢測 Maven 是否安裝好: 打開命令行, 輸入 mvn -version ,沒有問題 的話會顯示如下信息。
3. 配置 Maven
在安裝 Maven 的位置, \apache-maven-3.3.9\conf 下有一個 settings.xml 文件,這個就是 maven 的全局配置了。
我們一般不修改全局配置,而是將 settings.xml 復制到自己項目的根目錄下的 .m2 目錄中 ( %Home%\.m2 ),然后再來修改。
打開 setting.xml ,我們一般修改兩個地方:
3.1 修改軟件庫: 找到 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> -->
3.2 修改下載服務器的鏡像地址: 有時候我們不能連接到默認的下載服務器或速度很慢,可以通過修改這個部分來解決。 找到 mirrors 部分,然后修改就可以了。
<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>UK</id> <mirrorOf>central</mirrorOf> <name>UK Central</name> <url>http://uk.maven.org/maven2</url> </mirror> </mirrors>
3.3 配置 Eclipse
在 Eclipse 中,點開 "Windows"->"Preferences",定位到 "Maven" 下的 "Installations", 將我們之前安裝的 maven 位置添加進去並選中, 點擊 "Apply"。
然后定位到 "Maven" 下的 "User Settings", 將之前我們修改的配置文件路徑設置上去,點擊 "apply"。
4. 使用 Maven 創建項目
我們以創建一個簡單的 Web 項目為例來講解。
4.1 打開 Eclipse (使用較新的版本,本身就支持 Maven ), 在 Project Explorer 中右鍵 , New 一個 Other 項目:
然后 Next > , 選擇項目位置, Next >,
因為我們要建的是一個 Web 程序,所以選擇 maven-archetype-webapp 。然后點擊 Next >
輸入 Group ID, Artifact Id, 會自動生成包名。然后 Finish. (Group 和 Artifact ID是Manen用來定位這個項目的坐標)
接着經過一翻處理,可以在工程瀏覽器中看到我們建立的項目。
可以看到,項目剛建好就有錯誤。
展開后看到原因:
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
意思就是父類 HttpServlet 不在 Java Build Path 中。
解決方法是,點開 pom.xml ,在 dependencies 部分(依賴項)加入:
<!-- 防止 jsp 報錯 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency>
加入並保存后,可以看到錯誤已經沒有了。
這個時候,我們已經使用 maven 建立好了一個 webapp, 可以運行了。
5. 使用 Maven 的好處
Maven是一個構建工具, 使用Maven配置好項目后, 輸入簡單的命令, 如:mvn clean install,Maven 會幫我們處理那些繁瑣的任務
Maven是跨平台的
Maven最大化的消除了構建的重復
Maven可以幫助我們標准化構建過程. 所有的項目都是簡單一致的, 簡化了學習成本
總之, Maven作為一個構建工具, 不僅幫我們自動化構建, 還能抽象構建過程, 提供構建任務實現. 他跨平台, 對外提供一致的操作接口, 這一切足以使他成為優秀的,流行的構建工具
但是Maven不僅是構建工具, 他還是一個依賴管理工具和項目信息管理工具. 他還提供了中央倉庫,能幫我們自動下載構件
使用Maven還能享受一個額外的好處,即Maven對於項目目錄結構、測試用例命名方式等內容都有既定的規則,只要遵循了這些成熟的規則,用戶在項目間切換的時候就免去了額外的學習成本,可以說是約定優於配置(Convention Over Configuration)。