1. 程式人生 > >Maven環境搭建與簡述

Maven環境搭建與簡述

面試知識

Maven環境搭建:

         下載,將maven解壓到一個不含有中文和空格的目錄中

電腦上需安裝java環境,將JAVA_HOME/bin 配置環境變數path

         配置 MAVEN_HOME ,安裝目錄(bin的上一級)

         將 %MAVEN_HOME%/bin 加入環境變數 path

         通過 mvn -v命令檢查 maven是否安裝成功。

Maven是Apache下的一個純java開發的開源專案,它是一個專案管理工具,使用maven對java專案進行構建、依賴管理。

傳統的使用eclipse構建專案的過程如下:

構建過程如下:

         1)在eclipse中建立一個java web工程

         2)在工程中編寫原始碼及配置檔案等

         3)對原始碼進行編譯,java檔案編譯成class檔案

         4)執行Junit單元測試

         5)將工程打成war包部署至tomcat執行

maven將專案構建的過程進行標準化,每個階段使用一個命令完成:

上圖中部分階段對應命令如下:

清理階段對應maven的命令是clean,清理輸出的class檔案

編譯階段對應maven的命令是compile,將java程式碼編譯成class檔案。

打包階段對應maven的命令是package,java工程可以打成jar包,web包可以打成war包

執行一個maven工程(web工程)需要一個命令:tomat:run

maven工程構建的優點:

1、一個命令完成構建、執行,方便快捷。

2、maven對每個構建階段進行規範,非常有利於大型團隊協作開發。

maven專案管理所依賴的jar包不需要手動向工程新增jar包,只需要在pom.xml(maven工程的配置檔案)新增jar包的座標,自動從maven倉庫中下載jar包、執行。

使用maven依賴管理新增jar的好處:

1、通過pom.xml檔案對jar包的版本進行統一管理,可避免版本衝突。

2、maven團隊維護了一個非常全的maven倉庫,裡邊包括了當前使用的jar包,maven工程可以自動從maven倉庫下載jar包,非常方便。

使用maven的好處

1、一步構建

maven對專案構建的過程進行標準化,通過一個命令即可完成構建過程。

2、依賴管理

maven工程不用手動導jar包,通過在pom.xml中定義座標從maven倉庫自動下載,方便且不易出錯。

3、maven的跨平臺,可在window、linux上使用。

4、maven遵循規範開發有利於提高大型團隊的開發效率,降低專案的維護成本,大公司都會考慮使用maven來構建專案。

Maven倉庫的概念:

maven的工作需要從倉庫下載一些jar包,如下圖所示,本地的專案A、專案B等都會通過maven軟體從遠端倉庫(可以理解為網際網路上的倉庫)下載jar包並存在本地倉庫,本地倉庫 就是本地資料夾,當第二次需要此jar包時則不再從遠端倉庫下載,因為本地倉庫已經存在了,可以將本地倉庫理解為快取,有了本地倉庫就不用每次從遠端倉庫下載了。

  1. 本地倉庫 :用來儲存從遠端倉庫或中央倉庫下載的外掛和jar包,專案使用一些外掛或jar包,優先從本地倉庫查詢

預設本地倉庫位置在 ${user.dir}/.m2/repository,${user.dir}表示windows使用者目錄。

在MAVE_HOME/conf/settings.xml檔案中配置本地倉庫位置:

  1. 遠端倉庫:如果本地需要外掛或者jar包,本地倉庫沒有,預設去遠端倉庫下載。

遠端倉庫可以在網際網路內也可以在區域網內。

中央倉庫 :在maven軟體中內建一個遠端倉庫地址http://repo1.maven.org/maven2 ,它是中央倉庫,服務於整個網際網路,它是由Maven團隊自己維護,裡面儲存了非常全的jar包,它包含了世界上大部分流行的開源專案構件。

全域性setting與使用者setting

         maven倉庫地址、私服等配置資訊需要在setting.xml檔案中配置,分為全域性配置和使用者配置。

         在maven安裝目錄下的有 conf/setting.xml檔案,此setting.xml檔案用於maven的所有project專案,它作為maven的全域性配置。

         如需要個性配置則需要在使用者配置中設定,使用者配置的setting.xml檔案預設的位置在:${user.dir} /.m2/settings.xml目錄中,${user.dir} 指windows 中的使用者目錄。

         maven會先找使用者配置,如果找到則以使用者配置檔案為準,否則使用全域性配置檔案。

Maven專案工程目錄約定

Project

  |-src

  |   |-main

  |   |  |-java        —— 存放專案的.java檔案

  |   |  |-resources   —— 存放專案資原始檔,如spring, hibernate配置檔案

         |-webapp     —— webapp目錄是web工程的主目錄

            |-WEB-INF

              |-web.xml

  |   |-test

  |      |-java        ——存放所有測試.java檔案,如JUnit測試類

  |      |-resources   —— 測試資原始檔

  |-target             —— 目標檔案輸出位置例如.class、.jar、.war檔案

  |-pom.xml           ——maven專案核心配置檔案

Eclipse整合maven

      

如果修改了 setting.xml檔案需要點選上圖中的“update settings”按鈕對本地倉庫重建索引,點選“Reindex”。

maven配置完成需要測試在eclipse中是否可以瀏覽maven的本地倉庫,如果可以正常瀏覽maven本地倉庫則說明eclipse整合maven已經完成。

開啟eclipse倉庫檢視,對外掛和jar包建立索引

找到Local respository本地倉庫項,點選Rebuild index重建索引