JavaEE高級-Maven學習筆記

Maven簡介java

  一、Maven是一款服務於Java平臺的自動化構建工具。框架

  二、構建:ide

    - 概念:以「Java源文件」、「框架配置文件」、「JSP」、「HTML」、「圖片」等資源爲「原料」,去「生產」一個能夠運行的項目的的過程工具

    - 編譯:Java源文件【User.java】->編譯->Class字節碼文件【User.class】->交給JVM去執行測試

    - 部署:一個BS項目最終運行的並非動態Web工程自己,而是這個動態Web工程的「編譯結果」插件

  三、構建過程當中的各個環節xml

    - 清理:將之前編譯獲得的舊的class字節碼文件刪除,爲下一次編譯作準備對象

    - 編譯:將Java源程序編譯成class字節碼文件繼承

    - 測試:自動測試,自動調用junit程序生命週期

    - 報告:測試程序執行的結果

    - 打包:動態Web工程打war包,Java工程打jar包

    - 安裝:Maven特定的概念,將打包獲得的文件複製到「倉庫」中的指定位置

    - 部署:將動態Web工程生成的war包複製到Servlet容器的指定目錄下,使其能夠運行

  四、自動化構建

 

安裝Maven核心程序

  一、檢查JAVA_HOME環境變量

  二、解壓Maven核心程序的壓縮包,放在一個非中文無空格路徑下

  三、配置Maven相關的環境變量

    M2_HOME

    path

  四、運行mvn -v 命令查看Maven版本

 

Maven的核心概念

  一、約定的目錄結構

  二、POM

  三、座標

  四、依賴

  五、倉庫

  六、生命週期/插件/目標

  七、繼承

  八、聚合

 

第一個Maven工程

  一、建立約定的目錄結構

    根目錄:工程名

    src目錄:源碼

    pom.xml文件:Maven工程的核心配置文件

    main目錄:存放主程序

    test目錄:存放測試程序

    java目錄:存放Java源文件

    resources目錄:存放框架或其餘工具的配置文件

 

經常使用Maven命令

  注:執行與構建過程相關的Maven命令,必須進入pom.xml所在的目錄

  經常使用命令:

    mvn clean:清理

    mvn compile:編譯主程序

    mvn test-compile:編譯測試程序

    mvn test:執行測試

    mvn package:打包

    mvn install:安裝

    mvn site:生成站點

 

POM

  一、含義:Project Object Model項目對象模型

  二、pom.xml對於Maven工程是核心配置文件,與構建過程相關的一切設置都在這個文件中進行配置

 

座標

  一、數學中的座標

  二、Maven中的座標

    使用下面三個向量在倉庫中惟必定位一個Maven工程

    groupid:公司或組織域名倒敘+項目名

    artifactid:模塊名

    version:版本

 

倉庫

  一、倉庫的分類

    本地倉庫:

    遠程倉庫:

      - 私服:架設在當前局域網環境下,爲當前局域網範圍內全部Maven工程服務

      - 中央倉庫:架設在Internet上,爲全世界全部Maven工程服務

      - 中央倉庫鏡像:分擔中央倉庫的流量,提高用戶訪問速度

  二、倉庫中保存的內容:Maven工程

    - Maven自身所須要的插件

    - 第三方框架或工具的jar包

    - 咱們本身開發的Maven工程

 

依賴

  一、Maven解析依賴信息時會到本地倉庫中查找被依賴的jar包

    - 對於咱們本身開發的Maven工程,使用mvn install命令安裝後就能夠進入倉庫

  二、依賴的範圍

    - compile範圍依賴:對主程序、測試程序都有效、參與打包

    - test範圍依賴:對主程序無效、對測試程序有效、參與打包

    - provided範圍依賴:對主程序、測試程序有效、不參與打包、不參與部署

 

生命週期

  一、各個構建環節執行的順序:不能打亂順序,必須按照既定的正確順序來執行

  二、Maven的核心程序中定義了抽象的生命週期,生命週期中各個階段的具體任務是由插件來完成的

  三、Maven核心程序爲了更好的實現自動化構建,按照如下特色執行生命週期中的各個階段:

    即不管要執行生命週期中的哪個階段,都從這個生命週期最初的位置開始執行

  四、插件和目標

    - 生命週期的各個階段僅僅定義了要執行的任務是什麼

    - 各個階段和插件的目標是對應的

    - 類似的目標由特定的插件來完成

 

在Eclipse中使用Maven

  一、Maven插件:Eclipse內置

  二、Maven插件的設置

    - installations:指定Maven核心程序的位置。

    - user settings:指定conf/settings.xml的位置,進而獲取本地倉庫的位置

相關文章
相關標籤/搜索