Maven環境變量配置教程 maven是干什么用的

關于大數據開發的Maven可謂是一個略微復雜的構成,從基礎概念到它的具體用途都可謂是有滿滿的干貨知識 。這里先用一句話來進行概括,Maven 是一個項目管理工具,可以對 Java 項目進行構建、依賴管理,是一個自動化構建工具 。
一、什么是Maven
Maven , 用于Java項目的構建 , 依賴管理 , 項目信息管理的項目管理工具.是Apache組織旗下的開源項目.它的核心功能是一個具有跨平臺特性的構建工具 , 幫助我們自動化構建 , 并提供一個完整的優化的構建生命周期模型 , 和構建任務所需的基礎組件/插件.它還是一個依賴管理工具和項目信息管理工具 , 方便開發人員更好的管理依賴與避免項目信息混亂等問題.除此之外還提供了一套標準的約定規則 , 減輕不同項目的差異性.
二、Maven的作用
作用一:
個人理解maven主要是用來解決導入java類依賴的jar,編譯java項目主要問題 。(最早手動導入jar,使用Ant之類的編譯java項目)
以pom.xml文件中dependency屬性管理依賴的jar包,而jar包包含class文件和一些必要的資源文件 。
當然它可以構建項目,管理依賴,生成一些簡單的單元測試報告,像現在公司的持續集成都廣泛的使用maven,當你接觸一些項目以后你就會有更深的體會 。
作用二:
比如之前項目導入jar 。是通過copy方式導入項目中,而且還會存在jar之間的依賴和沖突 。而maven解決了這些問題,只是網速不好的時候有點麻煩 。只需要下載-bin.zip就可以了 。
作用三:
jar 包管理,防止jar之間依賴起沖突。小組之間建立個私服務,大家都用通用 的maven配置文件,不用自己手動去下載jar,pom文件會自動管理下載好的jar包 。
作用四:
Maven是基于項目對象模型,可以通過一小段描述信息來管理項目的構建,報告和文檔的軟件項目管理工具 。Maven能夠很方便的幫你管理項目報告,生成站點,管理jar文件,等等 。例如:項目開發中第三方jar引用的問題,開發過程中合作成員引用的jar版本可能不同,還有可能重復引用相同jar的不同版本,使用maven關聯jar就可以配置引用jar的版本,避免沖突 。

Maven環境變量配置教程 maven是干什么用的

文章插圖

三、Maven坐標系統
Maven構件 : 指的是平時項目打包完成后的的一些jar , war等文件.
Maven坐標為各種構件引入了秩序 , 任何一個構件都必須明確定義自己的唯一坐標 ; 而一組Maven坐標就是通過以下一組元素定義的 :
groupId : 定義當前Maven項目隸屬的實際項目
artifactId : 定義實際項目中的一個Maven模塊/項目 , 推薦使用groupId作為artifactId的前綴
version : 定義Maven模塊/項目所處的版本 , Maven定義了一套完整的版本規范
packaging : 定義Maven模塊/項目的打包方式
classifier : 幫助定義一些與主構件對應的附屬構件
Maven倉庫就是基于Maven的坐標系統
四、Maven倉庫
得益于Maven的坐標機制 , 任何Maven項目使用的任何一個”構件”的方式都是相同的 ; 在此基礎上 , Maven可以在某個位置統一儲存所有Maven項目共享的”構件” , 這就是倉庫 ; 因為倉庫 , 所以Maven項目不再需要各自儲存依賴的”構件” , 轉而只需聲明這些依賴的坐標 , 在需要的時候 , Maven會自動根據坐標找到倉庫中的”構件” , 并使用它們.
倉庫的分類有兩種 , 本地倉庫與遠程倉庫 ; 當Maven根據坐標尋找”構件”的時候 , Maven會先查看本地倉庫 , 如果本地倉庫存在此構件 , 則直接使用 ; 如果本地倉庫不存在此”構件” , 或需要查看是否有更新的版本 , Maven就會去遠程倉庫查找 , 當發現所需的”構件”后 , 就會下載到本地倉庫后再使用 ; 如果最終本地倉庫與遠程倉庫都無法找到所需要的”構件”時 , Maven就會報錯.

Maven環境變量配置教程 maven是干什么用的

文章插圖

五、Maven構建概念及過程
(1)構建并不是創建,創建一個工程并不等于構建一個項目,那么我們就從如下三個方面來了解構建 。
1.純Java代碼
Java是一門編譯型語言,.java擴展名的源文件需要編譯成.class擴展名的字節碼文件才能夠執行 。所以編寫任何Java代碼想要執行的話就必須經過編譯得到對應的.class文件 。
2.Web工程
當我們需要通過瀏覽器訪問Java程序時就必須將包含Java程序的Web工程編譯的結果“拿”到服務器上的指定目錄下,并啟動服務器才行 。這個“拿”的過程我們叫部署 。

推薦閱讀