2020-08-03
Java培訓 maven
好程序員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構建
開班時間:2021-04-12(深圳)
開班盛況開班時間:2021-05-17(北京)
開班盛況開班時間:2021-03-22(杭州)
開班盛況開班時間:2021-04-26(北京)
開班盛況開班時間:2021-05-10(北京)
開班盛況開班時間:2021-02-22(北京)
開班盛況開班時間:2021-07-12(北京)
預約報名開班時間:2020-09-21(上海)
開班盛況開班時間:2021-07-12(北京)
預約報名開班時間:2019-07-22(北京)
開班盛況Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號