項目管理利器——Maven

假設公司要開發一個新的Web項目,使用目前流行的struts二、spring、MyBatis進行新項目開發。那麼接下來首先要進行的工做就是各個框架的jar包的下載。你們一般的作法是先到struts2的官網下載struts2的jar包,再到spring的官網下載spring的jar包,再到MyBatis官網下載MyBatis的jar包以及一些其餘的相關的第三方jar包。java

項目還沒開始,咱們的lib目錄下就有百八十的jar包,有用的、沒用的、各個版本相互衝突的。沒衝突,刪吧,不知道哪些個之間有關聯,不刪吧,項目臃腫的不行。還好,感謝開源界的大神,給咱們提供了Maven、Ant、gradle優秀的項目管理和項目構建工具,它讓咱們更爲方便的來管理和構建咱們的項目。spring

下面會對Maven進行學習,主要學習要點:apache

1. Maven快速入門;windows

2. Maven核心知識;安全

3. Maven創建Web項目。服務器

本文主要介紹Maven以及它的環境搭建。框架

1、Maven介紹及環境搭建

1. Maven的概念

Maven是基於項目對象模型(POM),能夠經過一小段描述信息來管理項目的構建、報告和文檔的軟件項目管理工具。eclipse

簡單來講,Maven能夠幫助咱們更有效的管理項目。maven

下載Maven,須要訪問:maven.apache.org工具

 

在左側列表download選項下:

Maven3.3版本須要JDK1.7以上的支持。

下載以後,解壓查看相應的目錄:

查看bin目錄:(bin目錄包含mvn的運行腳本)

bin目錄包含mvn的運行腳本。在windows命令行中輸入mvn,就會調用這個腳本。

m2.conf 這是一個配置文件。

查看boot目錄:(boot目錄包含一個類加載器的框架)

boot目錄包含一個類加載器的框架,Maven是使用它來加載本身的類庫。

查看conf目錄:(conf是配置文件目錄)

conf是配置文件目錄,好比咱們之後常常用到的setting.xml

lib目錄下:(包含Maven平時所用到的類庫,除了自身的,還包含第三方依賴的類庫)

2. maven環境變量配置

環境變量分爲用戶變量和系統變量。

若是你的電腦是多人使用的,那麼爲了避免影響他人,你就應該在用戶變量中進行設置。(用戶變量:屬於電腦各個用戶的變量。)

若是你的電腦是私人的,就能夠在系統變量進行設置。(系統變量:全部電腦用戶共用的變量。)

  • M2_HOME:變量值設爲maven安裝目錄;
  • path:設置爲%M2_HOME%\bin;

如何驗證環境變量是否配置成功?

打開cmd命令提示符dos:輸入mvn -v

若是能夠查看到相關的版本信息,就說明環境變量配置成功。

2、構建Maven版的Hello World

先了解Maven的目錄結構:

pom.xml

注:

groupId的值就是項目的包名
artifactId的值就是模塊名,這裏通常建議使用項目名
version的值是版本名 通常是快照

使用maven構建的一個小例子:
1:使用maven約定的構建目錄結構
2:按照約定的目錄結構構建項目
3:編寫簡單的測試代碼
4:配置pom配置文件
5:運行maven基本命令管理對應的小例子
6:根據命令的提示信息解決構建項目中犯的錯誤,而且理解每一個命令實際作了那些具體的事情。

3、Maven常見構建命令

  • mvn -v :查看Maven版本
  • mvn compile:編譯
  • mvn test: 測試
  • mvn package:打包
  • mvn clean: 清除maven生成的target目錄(target中存放的是項目通過編譯的字節碼文件和測試報告)
  • mvn install:將生成的jar安裝到本地倉庫中

maven編譯代碼的流程:
1. 執行mvn compile 命令編譯java代碼文件
2. 若是發現代碼中引用到了其餘的包文件(jar包)
3. 首先回去核心配置文件pom.xml文件中去查找相應的配置依賴
4. 根據配置依賴先去本地的倉庫中查找jar包資源
5. 若是本地不存在,則會再去聯網到maven的中央倉庫中查找

4、自動建立目錄骨架

建立目錄骨架的方式有兩種。

Maven爲咱們提供了archetype插件,用於建立符合Maven規定的目錄骨架。

根據Maven規定,要在:

  • mvn archetype:generate:運行命令後提示輸入版本,groupId,artifactId,version,package
  • mvn archetype:generate -DgroupId:組織名,公司域名反寫+項目名 -DartifactId:項目名-模塊名 -Dversion:版本 -Dpackage:包名。一次性建立。

方式1:

方式2:直接設置完全部的參數,創建maven目錄骨架

5、Maven中的座標和倉庫

  • 座標的概念:構件

Maven世界中惟一標識一個構件的標識,通常由groupId/artifactId/version三部分組成,另外,做者建議artifactId和項目名要一致,這樣更清晰,也更容易查找。

  • 倉庫的概念:

放置各類依賴的地方。倉庫分爲兩種:本地倉庫和遠程倉庫。

本地倉庫找不到咱們須要的構件,它會去中央倉庫查找,查找到以後就會下載到本地倉庫中

C:\apache-maven-3.3.9\lib\maven-model-builder-3.3.9\org\apache\maven\model\pom-4.0.0.xml——Maven爲咱們提供的超級pom咱們全部的pom都會記錄這個pom這裏記錄的有全球的中央倉庫 ,中央倉庫中放置了幾乎全部開源項目的資源——jar包。

  •  鏡像倉庫:

Maven的中央服務器都是放置在國外的,有時咱們不能訪問外網,國內也有他的鏡像倉庫,這樣就能更好的訪問了。

apache-maven-3.3.9\conf\settings.xml這個文件中就配置着鏡像的信息,能夠配置國內的鏡像文件的路徑,這樣就能更快更好的訪問了。

  •  更改倉庫的位置:

maven從遠程中央庫下載的資源默認放在了C:\Users\Administrator\.m2\repository這個目錄,爲了安全性,通常不會選擇放在c盤下能夠修改本地倉庫的目錄,指定到更安全的目錄下,另外,setting.xml這個文件也須要另存一份,這是爲了更新版本的時候不用從新修改這個配置文件。

6、在eclipse中安裝Maven插件以及建立Maven項目

若是電腦安裝的是eclipse4.0或者myeclipse,就不用再安裝Maven插件了。

查看本身的eclipse是否安裝插件:

eclipse 》》preferences ,查看是否有Maven選項。

eclipse默認運行在jre上,而maven插件須要jdk的支持。

步驟:

  1. 下載maven插件,解壓放至eclipse的dropins中或在線更新(http://m2eclipse.sonatype.org/sites/m2e , m2e-extras爲擴展 )
  2. 在eclipse.ini中添加jdk
    -vm
    C:\Program Files\Java\jdk1.7.0_75\bin\javaw.exe
  3. 修改eclipse-選項中maven的maven目錄和setting位置。
  4. 建立maven項目
  5. run as -->build as -->在goals中complile-->run
  6. 若報-Dmaven.multiModuleProjectDirectory 錯誤,則在選項-->java-->installed JRES中配置 -Dmaven.multiModuleProjectDirectory=$M2_HOME

7、Maven的生命週期和插件

  • 完整的項目構建過程包括:

    清理、編譯、測試、打包、集成測試、驗證、部署。

這幾個步驟對應的都有插件來完成。

  • Maven生命週期:clean、compile、test、package、install
  • Maven的生命週期分爲三個獨立的生命週期(每個生命週期有分爲若干個階段,其中defaul是最核心的一個):
    • clean:清理項目
    • default:構建項目
    • site: 生成項目站點

 

  • clean生命週期包含的階段:
    pre-clean : 執行清理前的工做
    clean : 清理上一次構建生成的全部文件
    post-clean : 執行清理後的文件
  • default構建項目(最核心)

   default生命週期包含的階段比較多,比較經常使用的就是compile、test、package、install

  • site生成項目站點:

    - pre-site 在生成項目站點以前要完成的工做
    - site 生成項目的站點文檔
    - post-site在生成項目站點後要完成的工做
    - site-deploy發佈生成的站點到服務器上

注意,Maven的生命週期對應的命令是順序執行的,若是沒有人爲的順序的一個個執行,那麼Maven會默認的自動運行。

相關文章
相關標籤/搜索