好程式設計師Java培訓分享maven-概述

好程式設計師發表於2020-08-03

  好程式設計師Java 培訓分享 maven- 概述 一、為什麼要使用Maven 在沒有Maven 之前我們的開發存在的問題

   專案如果需要引入第三方的開源庫就必須去官方網站或別的途徑去下載jar , 然後將下載襲來的 jar 包必須手動複製,貼上到 WEB-INF/lib 目錄下 , 當某些 jar 包有依賴的時候,還要去下載對應的依賴 jar , 如果不小心漏掉了 , 程式執行直接出錯

   jar 包去哪裡下 ?

   要對jar 包升級怎麼辦 ?

   jar 包依賴衝突了怎麼辦 ?

   然後專案寫完之後, 我們需要對專案進行編譯 , 測試 , 打包 , 部署等一系列工作 , 操作起來都不是特別的簡潔 , 所以這個時候 Maven 就出現了

   二、什麼是Maven

   Maven 是一個採用純 Java 編寫的開源專案管理工具 , Maven 採用了一種被稱之為 Project Object Model (POM) 概念來管理專案,所有的專案配置資訊都被定義在一個叫做 POM.xml 的檔案中

   POM 怎麼理解?

   我們使用Java 是物件導向程式設計,物件就是我們的類

   Maven 是面向專案,把我們的專案看做成是一個物件來進行管理

   是一個跨平臺的專案管理工具,主要服務於Java 平臺的專案構建、依賴管理和專案資訊管理。

   專案構建:透過外掛幫你完成專案的清理、編譯、測試、打包、部署。比如之前除了編寫原始碼,我們每天有相當一部分時間花在了編譯、執行單元測試、生成文件、打包和部署等繁瑣而又不得不做的工作上

   依賴管理:透過座標從maven 倉庫匯入 java 類庫( jar 檔案)。比如之前專案匯入 jar 。是透過 copy 方式匯入專案中,而且還會存在 jar 之間的依賴和衝突。而 maven 解決了這些問題,幫我們下載 Jar

   倉庫管理:提供統一管理所有 Jar 包的工具;

   專案資訊管理:專案描述、開發者列表、版本控制系統地址等。比如釋出版本之後我們可能還要對版本進行升級

   三、其它流行的構建工具( 瞭解 )

   Java 的世界裡,目前在被使用的常用構建工具有三個: Ant Maven Gradle

   Ant 的核心是由 Java 編寫,採用 XML 作為構建指令碼,這樣就允許你在任何環境下,執行構建。 Ant 基於任務鏈思想,任務之間定義依賴,形成先後順序。缺點是使用 XML 定義構建指令碼,導致指令碼臃腫, Ant 自身沒有為專案構建提供指導,導致每個 build 指令碼都不一樣,開發人員對於每個專案都需要去熟悉指令碼內容,沒有提供在 Ant 生態環境內的依賴管理工具。

   Maven 團隊意識到 Ant 的缺陷,採用標準的專案佈局,和統一的生命週期,採用約定由於配置的思想,減少構建指令碼需要的編寫內容,活躍的社群,可以方便找到合適的外掛,強大的依賴管理工具。缺點是採用預設的結構和生命週期,太過限制,編寫外掛擴充套件麻煩, XML 作為構建指令碼。

   Gradle 同時擁有 Ant Maven 的優點,它是基於 Groovy DSL ,提供宣告式的構建語言,採用標準的專案佈局,但擁有完全的可配置性,就是可以改,透過外掛,提供預設的構建生命週期,也可以自己定義任務,單獨執行任務,定義任務間的依賴,強大的依賴管理工具,與 Maven Ivy 倉庫結合,與 Ant 天生相容,有效的重用 Ant 的任務,多種實現外掛的方式,強大的官方外掛庫,從構建級別,支援從 Ant 或者 Maven 的逐步遷移,透過包裝器,無縫的在各個平臺執行。

   如何識別專案構建工具,一般來說,一個專案的根目錄中就會包含構建工具的配置檔案資訊,也表明了該專案使用的構建工具,通常有如下的對應關係

   build.xml - 該專案使用 Ant 構建

   pom.xml - 該專案使用 Maven 構建

   build.gradle - 該專案使用 Gradle 構建


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913864/viewspace-2708915/,如需轉載,請註明出處,否則將追究法律責任。

相關文章